在VS2010 C ++中的几个项目之间未解决外部问题

时间:2013-05-13 01:34:25

标签: c++ visual-studio-2010 unresolved-external

我有两个C ++项目,每个项目组成一个库,由第三个项目引用,所有这些项目都是Visual Studio解决方案的一部分。

这两个库是由其他人提供的,他们也提供了自己的VS解决方案,其中包括一个项目,作为一些库函数的演示。我已成功地将这些编译并运行。我正在尝试使用Windows Forms开发一个Windows应用程序,它将使用这些库。在包含两个必要的标题后,

#include "corelib.h"
#include "corbit.h"

并尝试构建代码,我收到2个链接错误:

SatTrack_v0.1.obj : error LNK2028: unresolved token (0A000010) "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __clrcall Zeptomoby::OrbitTools::cGeo::ToString(void)const " (?ToString@cGeo@OrbitTools@Zeptomoby@@$$FUBM?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) referenced in function "void __clrcall `dynamic initializer for 'const Zeptomoby::OrbitTools::cGeo::`vftable'''(void)" (???__E??_7cGeo@OrbitTools@Zeptomoby@@6B@@@YMXXZ@?A0xc222cabd@@$$FYMXXZ)

SatTrack_v0.1.obj : error LNK2019: unresolved external symbol "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __clrcall Zeptomoby::OrbitTools::cGeo::ToString(void)const " (?ToString@cGeo@OrbitTools@Zeptomoby@@$$FUBM?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) referenced in function "void __clrcall `dynamic initializerfor 'const Zeptomoby::OrbitTools::cGeo::`vftable'''(void)" (???__E??_7cGeo@OrbitTools@Zeptomoby@@6B@@@YMXXZ@?A0xc222cabd@@$$FYMXXZ)

C:\Users\Satellite Tracking\Software\SatTrack_v0.1\Win32\(Configuration)\SatTrack_v0.1.exe : fatal error LNK1120: 2 unresolved externals

我已阅读What is an undefined reference/unresolved external symbol error and how do I fix it?,我认为我链接了必要的库。我去了项目Properties |框架和参考文献并添加了库。我还在Properties |下添加了Additional Include Directories配置属性| C / C ++ |一般。另外,在Linker下一般我已经在附加的图书馆目录中包含了正确的位置,我认为我在链接器下有适当的附加依赖性输入。一般来说,我已经浏览了许多项目属性,并尝试将它们与工作演示项目的属性设置相匹配,但链接器问题仍然存在。

我是否仍然在某个地方错过了某个链接,或者问题比这更复杂?因为我确实有演示解决方案编译,是否有更好的方法来获取链接设置,而不是手动浏览所有这些并尝试匹配那些合适的?我已经坚持这个问题几天了,无法弄清楚我错过了什么。我应该从哪里开始?

0 个答案:

没有答案