在VS中添加lib库的三种方法

博客介绍了工程添加lib库的三种方法。方法1是通过设置工程配置添加,较繁琐;方法2使用编译语句,直观方便但指定目录易出错;方法3直接添加库文件到工程,适用于debug和release版本使用同一lib库文件的情况,还提及了DLL文件设置及版本区分。

 

注意:

1、每种方法也要复制相应的DLL文件到相应目录,或者设定DLL目录的位置,具体方法为:"Properties" -> "Configuration Properties" -> "Debugging",在"Working Directory"设置dll的路径就可以了

2、无论是设置DLL目录,或者是Lib目录,亦或是头文件的目录,都有release版本和debug版本的区分,每种版本的设置都是独立的,要分别设置。

------------------------------------------------------------------------------------------------------------------------------------------

方法1:  通过设置工程配置来添加lib库.

A、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。

B、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。
C  然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名。

这种方法比较繁琐,且不直观,而且还可能要争对debug版本和release版本作不同的配置,因为我们生成的两个版本的库可能放在不同的目录中的.

 

方法2: 使用编译语句:

#ifdef _DEBUG
#pragma comment(lib,"..\\debug\\LedCtrlBoard.lib")
#else
#pragma comment(lib,"..\\release\\LedCtrlBoard.lib")
#endif

这种方法直观,方便,且可以按如上直接区分出Debug版本和Release版本的不同目录.当然,通过宏,还可以区分更多版本.

但是在指定目录时,不小心容易出错.

 

方法3: 直接添加库文件到工程中.

就像你添加.h和.cpp文件一样,把lib文件添加到工程文件列表中去.

VC中,切换到"解决方案视图",--->选中要添加lib的工程-->点击右键-->"添加"-->"现有项"-->选择lib文件-->确定.

就是这么简单,搞定.

这个方法适用于在我的工程的debug版本和Release版本中都使用同一个lib库文件时.这样就省去了你1方法配置环境的繁琐,也省去了方法2种语句的可能性错误发生.

功不成,身已退

在PC中添加lib可根据不同的开发环境和的类型采用不同的方法,以下是一些常见场景下的添加方法: ### Qt环境添加静态lib 在Qt中添加静态lib时,可能会遇到pro文件中添加语句错误的情况。例如,原本错误的语句如下: ```plaintext win32: LIBS += -L$$PWD/../../Detours/Detours-master/lib.X86/ -ldetours INCLUDEPATH += $$PWD/../../Detours/Detours-master/lib.X86 DEPENDPATH += $$PWD/../../Detours/Detours-master/lib.X86 win32:!win32-g++: PRE_TARGETDEPS += $$PWD/../../Detours/Detours-master/lib.X86/detours.lib else:win32-g++: PRE_TARGETDEPS += $$PWD/../../Detours/Detours-master/lib.X86/libdetours.a ``` 需要确保pro文件中添加lib的语句正确,以避免编译报错“ No rule to make target ‘xxx.lib’ needed by ‘xxx’ ” [^1]。 ### 交叉编译时添加动态链接 在PC(i686机器)进行交叉编译时,默认使用本地(/usr/lib, /lib两个目录),但交叉编译不能使用本地机器上的。因此,在编译链接时要采取一些方法使得编译器能找到需要的 [^2]。 ### Visual Studio封装和使用.a 若要将在Visual Studio中写好的电机驱动封装成.a集成到发布程序中,可按以下步骤操作: 1. 使用Embedded Project Wizard创建新项目; 2. 导入单片机工程; 3. 配置VisualGDB Project Propertits输出,修改为.a静态; 4. 删除工程多余的C、C++文件,保留要制作静态的源文件; 5. 编译生成.a静态; 6. 删除源文件,使用.a代替并进行测试 [^3]。 ### Keil MDK生成并使用LIB 可参考https://xiaopengzhen.blog.youkuaiyun.com/article/details/90036247?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-4.control&dist_request_id=1331647.11602.16183926662894565&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-4.control 来用Keil MDK生成LIB并使用LIB [^5]。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值