Link属性以下:
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>vrpn.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>F:\temp\vrpn\buildout\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
AdditionalDependencies:获取或设置配置项来添加到链接行中,比如comdlg32.lib或者kernel32.lib。
它的语法原型为:
property String^ AdditionalDependencies {
String^ get ();
void set (String^ value);
}
主要是链接lib文件。链接接受COFF标准库与导入库,它们都是以.lib为扩展后缀的文件。标准库是由LIB工具创建的且包含的是对象。导入库包含的是其他程序的导入信息,它除了由LIB工具创建外,还有的时候在它生成一个包含导出信息时由链接创建。
1>.使用上面例子的方式导入一个库
2>.在属性页设置:
使用LINK创建一个导入库方法:
1>.可以用/DLL选项生成一个DLL作为主输出文件。一个DLL文件通常包含了可以在其他程序中使用的导出函数或变量信息。有三种方法来标识是导出函数或变量信息:
a.源文件中写__declspec(dllexport)
b.在.def文件中声明EXPORTS
c.在LINK命令中指定/EXPORT选项
d.LIBRARY模式定义的语句。/BASE与/DLL选项一起相当于一个LIBRARY语句。
2>.在属性页中设置:
样例:
创建一个Lib文件,输入如下代码:
// lib_link_input_1.cpp
// compile with: /LD
__declspec(dllexport) int Test() {
return 213;
}
生成lib文件:
再创建一个调用文件lib_link_input_2.cpp,代码如下:
// lib_link_input_2.cpp
// compile with: /EHsc lib_link_input_1.lib
__declspec(dllimport) int Test();
#include <iostream>
int main() {
std::cout << Test() << std::endl;
}
再进行如下编译,可看到输出结果:
AdditionalLibraryDirectories:获取或设置用于搜索库文件的路径。
1>.使用上面例子方式设置
2>.使用命令行选项/LIBPATH:dir
3>.在属性页中设置: