我已成功构建了一个静态库,如本演练中所述: 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
答案 0 :(得分:0)
您的项目应链接到图书馆项目。在第二个项目属性中,添加存储.lib文件的库路径,还包括标题路径的路径。这应该解决问题。同时使第一个项目依赖于第二个解决方案。
看看下面的文章如何添加库: http://www.lavishsoft.com/wiki/index.php/Visual_Studio_Paths