0

如本演练中所述,我已成功构建了一个静态库: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
4

1 回答 1

0

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

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

于 2013-10-07T14:37:49.827 回答