2012-03-06 72 views
0

我有一个包含来自不同项目的文件的项目。我收到链接错误......C++链接错误无法解析的外部符号

“解析外部符号 ”公用:_ CDECL CLASSA :: CLASSA(作废“ (?()CLASSA @@ QEAA @ XZ)中函数引用” 类CLASSA * _cdecl functionB(字符常量*)”(?functionB @@ YAPEAVClassA @@ PEBD @ Z)...

与其他同类型的125个错误(构造函数,这是我的错误后,刚刚列出的,我使用的类中的每个函数都在其中一个链接错误中提及)
包含第二个项目文件的路径包含在我的属性表中。这个项目本身就很好。
我试图将该项目添加到我的解决方案,并将其添加为依赖项。没有帮助。我试图添加它在项目中创建的dll - 链接器 - 输入。没有帮助。
在配置属性中,运行时库设置为/ MTd。
我甚至试图在我的包含前添加extern“C”。没有帮助。
我试图用Debug或Release,x64或Win32来构建它们。我更喜欢Release x64,但我会采取任何行动。
你能帮我 - 告诉我我做错了什么,或在哪里寻找解决这个问题?非常感谢你。

+0

忘了提及我在任何项目中都没有模板。 – Thalia 2012-03-06 03:10:13

+0

您可以使用适当的错误号检出Visual Studio帮助。 – 2012-03-06 04:15:45

回答

0

我发现我的链接输入中的依赖项被删除,因为我没有明确指定我可以在属性表中有依赖关系。更改属性表后,我终于能够创建一个DLL。

0

当你建立你所依赖的项目时,它应该产生一个lib和一个dll。您需要将该lib与您的项目链接起来。请参阅this线程获取如何链接项目中的lib的屏幕截图。

+0

我试过了 - 我在我的问题的第三段列出了这个尝试。它没有任何区别。我仍然遇到同样的错误。 – Thalia 2012-03-06 03:08:46

+0

@ user1217150你说你试图链接dll,而不是lib。 – rob05c 2012-03-06 03:15:31

+0

@ user1217150我怀疑这个问题是名称改变/调用约定。名称修改不应该是'cdecl'的问题...您是否使用'_cdecl'验证了函数的头声明和cpp定义?您可以尝试从一切中删除'_cdecl'并重新编译库项目,并查看是否有帮助。 – rob05c 2012-03-06 03:45:50

相关问题