将VC ++ 2005静态库和您的应用程序保存在单独的解决方案中

时间:2013-10-07 14:33:39

标签: visual-c++ static-libraries

我已成功构建了一个静态库,如本演练中所述: http://msdn.microsoft.com/en-us/library/ms235627%28v=vs.80%29.aspx

在上面的示例中,静态库和应用程序都位于相同的解决方案中,但我更喜欢将它们保存在单独的解决方案中。分离后,我可以编译但无法链接,这里是错误:

main.obj : error LNK2019: unresolved external symbol…

然后我尝试将应用程序C/C++ / General / Additional include directories的项目级别设置到我的.h文件所在的位置。

我还将.. Linker / General / Additional library directories设置为我的.lib文件所在的位置。

我最终将.. Linker / Input / Additional dependencies设置为我的.lib文件所在的位置。

同样,我可以编译但不能链接。这是整个链接错误:

LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification
main.obj : error LNK2019: unresolved external symbol "public: static double __cdecl MathFuncs::MyMathFuncs::Add(double,double)" (?Add@MyMathFuncs@MathFuncs@@SANNN@Z) referenced in function _main
Release\StaticLibraryApp.exe : fatal error LNK1120: 1 unresolved externals

1 个答案:

答案 0 :(得分:0)

您的项目应链接到图书馆项目。在第二个项目属性中,添加存储.lib文件的库路径,还包括标题路径的路径。这应该解决问题。同时使第一个项目依赖于第二个解决方案。

看看下面的文章如何添加库: http://www.lavishsoft.com/wiki/index.php/Visual_Studio_Paths