加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 22:44:03 所属栏目:百科 来源:网络整理
导读:应用程序使用外部库时需要进行加载,两种库的加载本质上都是一样:提供功能和功能的定义。 vs2005~ vs2012 c++ 项目设置外部库方法如下: 1. 添加编译所需要(依赖)的 lib 文件 在“项目-属性-配置属性-连接器(link)-输入(input)-附加依赖项( Additional de

应用程序使用外部库时需要进行加载,两种库的加载本质上都是一样:提供功能和功能的定义。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,"..filelibnafxcwd.lib")
        #else
            "..filelibnafxcwd.lib")
        #endif
    #else
        "..filelibuafxcwd.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:projectsCountCountCount.vcproj
该工程需要包含一个图片参数,该图片所在路径如下:
E:projectsCountpicpic01.jpg
这里程序中的相对路径设置如下:
..picpic02.jpg

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

注:在字符串中要用""才能显示出,要考虑到转意字符"",在#include中的进行设置的时候则不需要考虑转意字符。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读