vc ++ unresolved外部符号(不能调用构造函数)

时间:2011-11-14 16:14:50

标签: c++ visual-studio-2010 visual-c++ linker-errors

我有一个包含两个项目的VC ++解决方案。项目B引用项目A.项目B还具有包含目录(属性/配置属性/ C ++ /附加包含目录)项目A中的文件夹。没有使用名称空间。

当我从像#include "someFolder\SomeClass.h"这样的Project A类中导入标题时,我就能够声明一个指向该类的指针。

SomeClass *sc;

但是一旦我调用构造函数它就不会编译。 IntelliSense不会显示任何错误。

SomeClass *sc = new SomeClass("someString");

我明白了:

  

错误LNK2001:“未解析的外部符号”public_ thiscall SomeClass :: SomeClass(...“和”错误LNK1120:1未解析的外部“。

构造函数是公共的,就像SomeClass中的方法一样。有趣的是,我可以在项目B中从SomeClass调用方法时编译。只有cunstructor似乎不起作用。

2 个答案:

答案 0 :(得分:2)

您必须链接从“Same Class.c ++”编译的目标代码。如果项目A编译为静态库,则添加对它的引用。

答案 1 :(得分:1)

源代码确实编译,这是一个链接器错误。您需要将项目A中的库(.lib)文件添加到项目B中的链接器命令。