VS2005~2012项目中添加lib库、include文件工程设置

前端之家收集整理的这篇文章主要介绍了VS2005~2012项目中添加lib库、include文件工程设置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

应用程序使用外部库时需要进行加载,两种库的加载本质上都是一样:提供功能功能的定义。vs2005~vs2012 c++ 项目设置外部库方法如下:


1. 添加编译所需要(依赖)的 lib 文件
在“项目->属性->配置属性->连接器(link)->输入(input)->附加依赖项(
Additional dependencies)”里填写“x.lib”,多个 lib 以空格隔开。等同于“#pragma comment(lib,"*.lib") ”语句。这个过程如果出错会出现link error,大概是“未定义的函数XXX”。

2. 添加库(libs)文件目录

  附加库目录 仅仅包含目录,只是告诉IDE,搜索没有指定路径的库文件时,也搜索这里。假如你用 #pragma comment(lib,"a.lib")的时候;此时就搜索a.lib的路径列表就包含这个路径。
       例如:
    #ifndef _UNICODE
        #ifdef _DEBUG
            #pragma comment(lib,"..\\file\\lib\\nafxcwd.lib")
        #else
            "..\\file\\lib\\nafxcwd.lib")
        #endif
    #else
        "..\\file\\lib\\uafxcwd.lib")uafxcw.lib"#endif

方法 1:项目->属性->配置属性->连接器(link)->常规(General)->附加库目录(Additional library path)"。此处设置的是“include文件相对路径”,以proj文件为基准。

附加库目录的目录路径不需要添加双引号,路径分隔符为’/’或’/’,不必考虑反斜杠’/’的转义。多个路径之间以分号分隔。

方法 2:[菜单]“工具->选项->项目和解决方案->c++ 目录”,选择对应平台,然后添加所需“库文件”目录"。

方法类似于设置环境变量,主要是为程序设置搜索的库目录,真正进行库加载还需要进行第一种设置!

这个过程如果设置错误,会link error,提示"找不到XXX.lib"。

3. 添加包含(include)文件目录

方法 1:[解决方案资源管理器]“项目->属性->配置属性->c/c++->常规->附加包含目录"。此处设置的是“include文件相对路径”,以proj文件为基准。

这里需要注意的是(1)路径必须指向头文件所在的子文件夹,而不能直到父文件夹就结束(2)每个路径不需要加上双引号,输入了之后, vs2008会自动加上双引号,如果自己加可能vs2008无法识别双引号(3)如果是多个路径,路径直接用“;”隔开。

(4)目录路径不需添加双引号,路径分隔符为’/’或’/’,不必考虑反斜杠’/’的转义。多个路径之间以分号分隔。

方法 2:[菜单]“工具->选项->项目和解决方案->c++ 目录”,选择对应平台,添加所需“include文件”目录"。此方法 类似于设置环境变量。

4. 导入库(import)

在“项目->属性->配置属性->连接器->高级->导入库”填写需要生成的导入库。


5.添加工程引用的dll动态库:把引用的dll放到工程的可执行文件所在的目录下。

相对路径的设置
在VS的工程中常常要设置头文件的包含路径,当然你可以使用绝对路径,但是如果你这样设置了你只能在你自己的机器上运行该工程;如果其他人拷贝你的工程到其他机器上就可能无法运行,这个是因为你在建工程时可能把工程放在了E:盘,但是其他人可能会把工程放在其他根目录下,这样会导致找不到头文件问题。
对于新手,在设置绝对路径时往往会犯浑,他们不清楚这里的“相对”究竟是以什么位置为起点。其实这里的相对路径就是相当于工程文件(X.vcproj)为起点零计算出的能找到包含所需头文件(也就是找包含所需头文件的include目录)的路径。
例如你的工程文件(Count.vcproj)所在目录路径为:
E:\projects\Count\Count\Count.vcproj
该工程需要包含一个图片参数,该图片所在路径如下:
E:\projects\Count\pic\pic01.jpg
这里程序中的相对路径设置如下:
..\\pic\\pic02.jpg

程序代码中的参数路径设置时要用双斜线:
例如:
#include "..\TestLib\lib.h"
#pragma comment(lib,"..\\debug\\TestLib.lib");

注:在字符串中要用"\\"才能显示出,要考虑到转意字符"\",在#include中的进行设置的时候则不需要考虑转意字符。
原文链接:https://www.f2er.com/javaschema/285218.html

猜你在找的设计模式相关文章