C++项目添加依赖项
2017-03-28 10:54
337 查看
1.新建解决方案,项目A
2.为项目A添加一个依赖项目B,项目B做为静态lib被项目引用,
项目B创建步骤如下:
a>选择菜单"文件"->新建->项目,弹出“新建项目”对话框;
b>左侧列表选择Visual C++,右侧列表选择win32控制台应用程序,
对话框下面输入名称,选择位置,解决方案选择添加到解决方案,确定。
C>Win32应用程序向导,下一步,选择应用程序类型为静态库,
添加公共头文件以用于选择MFC(根据实际情况选择,因为项目需求<nb30.h>编译需要选择MFC),完成。
3.项目配置,项目A右键选择属性,选择通用属性,引用->添加新引用->选择项目B;
引用项目B的头文件目录,步骤如下:配置属性->VC++目录->包含目录:添加项目B头文件路径..\B\Header。
抄来的,也可以参考
c++附加依赖项、项目依赖、引用
新建一个工程,在解决方案出添加新工程,新建项目或者现有项目,
点击新建项目,现在解决方案里面就有两个项目啦,把依赖项目设置为demo的依赖项目,那么依赖项目属性就要设置为lib,依赖项目的属性--配置类型--原来是 --应用程序exe,修改为静态库lib啦。demo的 配置类型还是--应用程序exe。
接下来就添加引用。在demo属性里面 引用--添加新引用--
选择 确定就可以了。
然后,在依赖项目里面的函数就可以在demo里面用了。就跟opencv配置库文件,在程序里面用库中的函数是一样的额勒。。。。
一定要注意两个属性的设置 不能设置反了,也不能不设置 ,不然就会错误。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
下面的是别人写的相关知识。
附加依赖性:http://www.cnblogs.com/MuyouSome/p/3380134.html
包含目录:#include <headerfile.h>中headerfile.h的搜索目录。
如果有XXX.h找不到,设置这个目录可以解决。
附加依赖项:C++的库会把函数、类的声明放在*.h中,实现放在*.cpp或*.cc中。编译之后,*.cpp,*.cc,*.c会被打包成一个.lib文件,这样可以保护源代码。
所以,要使用一个库,除了要include他的头文件以外,还要在链接过程中把lib加进去。这个就是在附加链接库中设置。
其实,一般的库会用#pragma comment(lib,"xxx.lib") 来设置
这个过程出错会出现link error,大概是“未定义的函数XXX”。
库目录:就是寻找.lib文件的目录。
如果设置错误,会link error,提示"找不到XXX.lib"。
在VS工程中,添加c/c++工程中外部头文件及库的基本步骤:
1、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。
2、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。
然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名。
3、添加工程引用的dll动态库:把引用的dll放到工程的可执行文件所在的目录下。
含义:
在项目生成时,可能需要首先生成某些项目,以便生成由其他项目使用的可执行代码。使用 “解决方案属性页”对话框 ->“通用属性”->“项目依赖项” 设置当前生成顺序。若要访问此对话框,请在“解决方案资源管理器”中选择一个解决方案,选择“视图”菜单上的“属性页”,然后选择“通用属性”下的“项目依赖项”。
关于项目依赖项
当一个项目使用另一个项目生成的可执行代码时,生成代码的项目被称为使用该代码的项目的项目依赖项。只要某个项目依赖项尚未生成,或自最近生成以来已被修改,则应首先生成该项目,以便生成和更新要使用的代码。
例如,如果项目 B 需要由其项目依赖项项目 A 生成的可执行代码,并且自上次生成以来已对项目 A 进行了修改,则在生成项目 B 之前应重新生项目 A。这使得可以先对项目 A 提供的可执行代码进行修改,然后再让项目 B 使用它。
如果自上次生成以来未对项目 A 进行修改,则不需要重新生成新的项目 A。仅生成项目 B。
某些项目可能以浅灰色显示在依赖项列表中且其复选框处于清除状态。不能选中这些项目,因为这样会创建依赖项循环(P1 依赖于 P2,而 P2 又依赖于 P1),从而使生成陷入停滞状态。
另外一些项目也可能以浅灰色显示在依赖项列表中,但其复选框却处于选中状态。这些项目已由集成开发环境添加,无法更改。例如,将 Visual Basic 项目中的项目引用添加到另一个项目中时将自动添加一个生成依赖项,只有通过删除该引用才能移除该依赖项。
打开项目属性管理器
在菜单栏上,依次选择“文件”、“打开”。
导航到解决方案或项目。
在解决方案资源管理器中,打开项目节点的快捷菜单,然后选择“引用”。
在“属性页”对话框中,选择“添加新引用”按钮。
在“添加引用”对话框中,指定要添加的引用,然后选择“确定”按钮。
若要移除引用,请打开其快捷菜单,然后选择“移除”。
此时将打开引用管理器,并按组列出可用引用。 项目类型确定将显示以下哪一组:
“程序集”组,包含“框架”和“扩展”子组。
“解决方案”组,包含“项目”子组。
“Windows”组,包含“核心”和“扩展”子组。 可以使用对象浏览器浏览
Windows SDK 或扩展 SDK 中的引用。
“浏览”组,包含“最近”子组。
引用方法:http://www.cnblogs.com/cumtb3S/archive/2010/11/23/1885826.html
1. 添加编译所需要(依赖)的 lib 文件
[解决方案资源管理器]“项目->属性->配置属性->连接器->输入->附加依赖项”里填写“winsock.lib”,多个 lib 以空格隔开。
(等同于“#pragma comment(lib, "winsock.lib") ”语句)
2. 添加库(Libs)文件目录
方法 1:[解决方案资源管理器]“项目->属性->配置属性->连接器->常规->附加库目录”
方法 2:[菜单]“工具->选项->项目和解决方案->C++ 目录”,选择对应平台,然后添加所需“库文件”目录
3. 添加包含(include)文件目录
方法 1:[解决方案资源管理器]“项目->属性->配置属性->C/C++->常规->附加包含目录”
方法 2:[菜单]“工具->选项->项目和解决方案->C++ 目录”,选择对应平台,然后添加所需“包括文件”目录
**使用引用的方式调用DLL,lib
1)在需要调用的地方写头文件的引用,
2)将引用的地方在引用中写上引用的函数
3)将生成的lib和dll放入需要引用的函数中。
2.为项目A添加一个依赖项目B,项目B做为静态lib被项目引用,
项目B创建步骤如下:
a>选择菜单"文件"->新建->项目,弹出“新建项目”对话框;
b>左侧列表选择Visual C++,右侧列表选择win32控制台应用程序,
对话框下面输入名称,选择位置,解决方案选择添加到解决方案,确定。
C>Win32应用程序向导,下一步,选择应用程序类型为静态库,
添加公共头文件以用于选择MFC(根据实际情况选择,因为项目需求<nb30.h>编译需要选择MFC),完成。
3.项目配置,项目A右键选择属性,选择通用属性,引用->添加新引用->选择项目B;
引用项目B的头文件目录,步骤如下:配置属性->VC++目录->包含目录:添加项目B头文件路径..\B\Header。
抄来的,也可以参考
c++附加依赖项、项目依赖、引用
新建一个工程,在解决方案出添加新工程,新建项目或者现有项目,
点击新建项目,现在解决方案里面就有两个项目啦,把依赖项目设置为demo的依赖项目,那么依赖项目属性就要设置为lib,依赖项目的属性--配置类型--原来是 --应用程序exe,修改为静态库lib啦。demo的 配置类型还是--应用程序exe。
接下来就添加引用。在demo属性里面 引用--添加新引用--
选择 确定就可以了。
然后,在依赖项目里面的函数就可以在demo里面用了。就跟opencv配置库文件,在程序里面用库中的函数是一样的额勒。。。。
一定要注意两个属性的设置 不能设置反了,也不能不设置 ,不然就会错误。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
下面的是别人写的相关知识。
附加依赖性:http://www.cnblogs.com/MuyouSome/p/3380134.html
包含目录:#include <headerfile.h>中headerfile.h的搜索目录。
如果有XXX.h找不到,设置这个目录可以解决。
附加依赖项:C++的库会把函数、类的声明放在*.h中,实现放在*.cpp或*.cc中。编译之后,*.cpp,*.cc,*.c会被打包成一个.lib文件,这样可以保护源代码。
所以,要使用一个库,除了要include他的头文件以外,还要在链接过程中把lib加进去。这个就是在附加链接库中设置。
其实,一般的库会用#pragma comment(lib,"xxx.lib") 来设置
这个过程出错会出现link error,大概是“未定义的函数XXX”。
库目录:就是寻找.lib文件的目录。
如果设置错误,会link error,提示"找不到XXX.lib"。
在VS工程中,添加c/c++工程中外部头文件及库的基本步骤:
1、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。
2、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。
然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名。
3、添加工程引用的dll动态库:把引用的dll放到工程的可执行文件所在的目录下。
含义:
在项目生成时,可能需要首先生成某些项目,以便生成由其他项目使用的可执行代码。使用 “解决方案属性页”对话框 ->“通用属性”->“项目依赖项” 设置当前生成顺序。若要访问此对话框,请在“解决方案资源管理器”中选择一个解决方案,选择“视图”菜单上的“属性页”,然后选择“通用属性”下的“项目依赖项”。
关于项目依赖项
当一个项目使用另一个项目生成的可执行代码时,生成代码的项目被称为使用该代码的项目的项目依赖项。只要某个项目依赖项尚未生成,或自最近生成以来已被修改,则应首先生成该项目,以便生成和更新要使用的代码。
例如,如果项目 B 需要由其项目依赖项项目 A 生成的可执行代码,并且自上次生成以来已对项目 A 进行了修改,则在生成项目 B 之前应重新生项目 A。这使得可以先对项目 A 提供的可执行代码进行修改,然后再让项目 B 使用它。
如果自上次生成以来未对项目 A 进行修改,则不需要重新生成新的项目 A。仅生成项目 B。
某些项目可能以浅灰色显示在依赖项列表中且其复选框处于清除状态。不能选中这些项目,因为这样会创建依赖项循环(P1 依赖于 P2,而 P2 又依赖于 P1),从而使生成陷入停滞状态。
另外一些项目也可能以浅灰色显示在依赖项列表中,但其复选框却处于选中状态。这些项目已由集成开发环境添加,无法更改。例如,将 Visual Basic 项目中的项目引用添加到另一个项目中时将自动添加一个生成依赖项,只有通过删除该引用才能移除该依赖项。
在 C++ 项目中添加引用
打开项目属性管理器 导航到解决方案或项目。
在解决方案资源管理器中,打开项目节点的快捷菜单,然后选择“引用”。
在“属性页”对话框中,选择“添加新引用”按钮。
在“添加引用”对话框中,指定要添加的引用,然后选择“确定”按钮。
若要移除引用,请打开其快捷菜单,然后选择“移除”。
此时将打开引用管理器,并按组列出可用引用。 项目类型确定将显示以下哪一组:
“程序集”组,包含“框架”和“扩展”子组。
“解决方案”组,包含“项目”子组。
“Windows”组,包含“核心”和“扩展”子组。 可以使用对象浏览器浏览
Windows SDK 或扩展 SDK 中的引用。
“浏览”组,包含“最近”子组。
引用方法:http://www.cnblogs.com/cumtb3S/archive/2010/11/23/1885826.html
1. 添加编译所需要(依赖)的 lib 文件
[解决方案资源管理器]“项目->属性->配置属性->连接器->输入->附加依赖项”里填写“winsock.lib”,多个 lib 以空格隔开。
(等同于“#pragma comment(lib, "winsock.lib") ”语句)
2. 添加库(Libs)文件目录
方法 1:[解决方案资源管理器]“项目->属性->配置属性->连接器->常规->附加库目录”
方法 2:[菜单]“工具->选项->项目和解决方案->C++ 目录”,选择对应平台,然后添加所需“库文件”目录
3. 添加包含(include)文件目录
方法 1:[解决方案资源管理器]“项目->属性->配置属性->C/C++->常规->附加包含目录”
方法 2:[菜单]“工具->选项->项目和解决方案->C++ 目录”,选择对应平台,然后添加所需“包括文件”目录
**使用引用的方式调用DLL,lib
1)在需要调用的地方写头文件的引用,
2)将引用的地方在引用中写上引用的函数
3)将生成的lib和dll放入需要引用的函数中。
相关文章推荐
- VS2005 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”(转)
- VS2005 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- VS2008 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- VS2008 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- VS2005 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- VS C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- VS2008 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- VS2005 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- VS2008 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- VS2008 C++ 项目添加“依赖”、“库目录”和“包含目录”
- VS2008 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- VS2008 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- VS2005 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- VS2008 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- VS2005 C++ 项目怎样添加“依赖附加项”
- VS2008 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”(转)
- VS2008 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- VS2008 C++ 项目添加“依赖”、“库目录”和“包含目录”
- VS2005 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”