VS中引用第三方库的方法(配置sqlite数据库)
我们在编写程序时,,不可避免的会使用第三方的库文件,很少使用源文件(.cpp),大部分是使用对类进行声明的头文件和封装了类的链接库(静态lib或动态dll),比如我们写程序用的iostream这个库,当然这个是已经设置好的官方的库,让我们使用某个第三方的库时,需要自己来进行配置。
C++的库会把函数、类的声明放在*.h中,实现放在*.cpp或*.cc中。编译之后,*.cpp,*.cc,*.c会被打包成一个.lib文件,这样可以保护源代码。
所以,要使用一个库,除了要include他的头文件以外,还要在链接过程中把lib加进去。
有两种方法解决这个问题。
主要有两种办法:
第一种:我们可以将我们所需要的库文件(.lib),已经该头文件(.h)拷贝到我们程序的目录下,其实只要拷贝到程序目录下即可,因为编译时,编译器会自动会在项目所在的文件里逐个搜素,若我们使用的库文件存在动态链接文件时,一般我们把它拷贝到我们程序可执行文件所存在的文件中,这样我们就可以在我们的程序中使用。
但是有个缺点,假若我们需要使用的库文件太多,这样拷贝会比较麻烦,效率比较低。我们可以使用第二种方法。
第二种:我们可以在我们的程序中加载我们所需要的库文件,从而不需要拷贝到自己程序的目录下。我们以一个例子来说明,我现在要在程序中引用sqlite数据库的API函数
举例:
新建项目:zrl(随便起的),这里仅仅是演示,所以我们新建一个空工程,运行一下(产生可执行文件)
1 添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。(注意:这个文件的存放目录指的是你的库文件所放的最后一级的目录,一定不要带上你的文件名,这里仅仅指的是存放”库文件所在文件目录”,下同)
2 然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名,这个步骤等同于在程序中添加 #pragma comment(lib, “xxx.lib”)
3添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。 此例子中:
4添加工程引用的dll动态库:把引用的dll放到工程的可执行文件所在的目录下。
或者我们也可以不添加附加库目录,附加包含目录这两个,我们也可以在 工程---属性---配置属性---VC++属性—包含目录 添加 头文件所在的文件目录。
在工程---属性---配置属性---VC++属性—库目录 添加库目录所在的文件目录。但此时仍要设置附加依赖项(和上面一样)。
同时总结一下在引用第三方库时所出现问题:
1若附加链接库中设置错误(拼写错误等),或者既没有添加也没有使用#pragmacomment(lib,"xxx.lib") 来设置
这个过程出错会出现link error,大概是“未定义的函数XXX”。
2库目录错误:就是寻找.lib文件的目录。如果设置错误,会link error,提示"找不到XXX.lib"。
这样设置完后,我们就可以是使用我们所添加的库的函数了。
VS中引用第三方库的方法(配置sqlite数据库)的更多相关文章
- Android中集成第三方库的方法和问题
Android中集成第三方库的方法和问题 声明: 1. 本文參考了网上同学们的现有成果,在此表示感谢,參考资料在文后有链接. 2. 本文的重点在第三部分,是在开发中遇到的问题及解决的方法.第一,第二部 ...
- 详细地jsoncpp编译方法 和 vs2010中导入第三方库的方法
详细地jsoncpp编译方法 和 vs2010中导入第三方库的方法 一 编译链接 1 在相应官网下载jsoncpp 2 解压得到jsoncpp-src-0.5.0文件 3 打开jsoncpp-src- ...
- json库的编译方法和vs2010中导入第三方库的方法
json库的编译方法和vs2010中导入第三方库的方法 一.去相应官网下载json.cpp文件 Jsoncpp下载:https://sourceforge.net/projects/jsoncpp/ ...
- VC中引用第三方库,常见的库冲突问题
Q:VC中引用第三方库,常见的库冲突问题 环境:[1]VS2008 [2]WinXP SP3 A1(方法一): [S1]第三方库(Binary形式的)如果同主程序冲突,则下载第三方库的源码[S2]保持 ...
- Angular-Cli中引用第三方库
最近在学习angular(AngularJS 2),根据教程使用angular-cli新建项目, 然而在添加JQuery和Bootstrap第三方库时遇到了问题... 初试 我最初的想法是直接将相对路 ...
- ThinkPHP引用第三方库
Thinkphp引用第三方库的方法例如引用购物车:在项目Home目录下,新建一个文件夹(以下是我自己的demo) Tool文件夹,在Tool文件夹中创建Tool.class.php文件.这个和你控制器 ...
- Flutter如何引用第三方库并使用
Flutter如何引用第三方库并使用 https://www.jianshu.com/p/bbda7794345e Flutter官网点击访问Flutter教程(一)Flutter概览Flutter教 ...
- IOS 编程中引用第三方的方类库的方法及常见问题
方法一:直接复制全部源文件到项目中 这样的方法就是把第三方类库的全部源文件拷贝到项目中,直接把全部.h和.m文件拖到XCode项目中就可以. 注意: 1. 假设第三方类库引用了一些系统自带类库,那么在 ...
- xcode中的第三方库配置问题总结
xcode中的第三方库配置总结 在导入第三方库的时候,总是会遇到许多的问题.在这里,我记录一下学到的一些知识点.写得比较乱.只要是想要记录下来,在第三方库导入的时候,遇到的一些问题. 参考网址: ht ...
随机推荐
- Android IOS WebRTC 音视频开发总结(四七)-- 深度解读国内首届WebRTC大会背后的真相
本文主要解读国内首届WebRTC大会背后的真相,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,更多详见www.rtc.help -------------------------- ...
- C++多态性——函数的覆盖和隐藏
1.函数的覆盖 覆盖的条件: 基类函数必须是虚函数(使用Virtual关键字进行声明): 发生覆盖的两个函数必须分别位于派生类和基类中: 函数名称与参数列表必须完全一样: 2.函数的隐藏 隐藏,是指派 ...
- Mvc多级Views目录
一般我们在mvc开发过程中,都会碰到这样的问题.页面总是写在Views文件夹下,而且还只能一个Controller的页面只能写在相应的以Controller名命名的文件夹下.如果我们写到别处呢?那么肯 ...
- iOS 技术博客分享
1.了解有什么新技术 1> 苹果API文档 - General - Guides - iOSx API Diffs 2> 观看WWDC会议视频 2.如何使用新技术 1> 自己根据AP ...
- vs C#数据库导入EXCLE
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- c# 数据库操作学习
一. 如何处理数据库连接 1. 数据库连接可以分为“物理连接”和“逻辑连接”(默认使用连接池的情况下Pooling=true): 物理连接:创建数据库连接时,默认会有一定数量的物理连接(默认Min P ...
- NodeManager起不来
NodeManager无法启动,解除授权,重新授权! CDH需要注意的表: SELECT * FROM `ROLES` SELECT * FROM CONFIGS WHERE attr LIKE '% ...
- shopnc二次开发(二)
一般来说二次开发,多数就是修改界面和增加功能这两个需求 先说修改界面 mvc 架构的程序,在界面这里,基本就是调用数据. 常见的界面数据构架有三种 1.是业务端或者是控制端数据驱动界面,基本上是后台输 ...
- Delphi For Android 开发笔记 1 - 开发工具介绍
在开始前,推荐喜欢delphi或者pascal的朋友,如果想将原来Windows的软件工程移植到Android,可使用CodeTyphon+Delphi XE7进行开发. 1.CodeTyphon C ...
- MySQL自用脚本(不定期更新)
查询指定SQL的trace信息 mysql -uUSER -pPWD -hHOST -e "\ use ins_tc_prd; \ set session optimizer_trace=' ...