我有一个包含两个项目的VC++解决方案。项目B引用项目A.项目B还包括目录(Properties/Configuration Properties/C++/附加包含目录),项目A中的文件夹不使用名称空间。
当我从项目A类(如#include "someFolder\SomeClass.h"
)导入标头时,我可以声明指向该类的指针。
SomeClass *sc;
但是,一旦我调用构造函数,它就不会编译。IntelliSense没有显示任何错误。
SomeClass *sc = new SomeClass("someString");
我得到:
error LNK2001:“未解决的外部符号"public_ --这个调用SomeClass::SomeClass(.)和"error LNK1120: 1个未解决的外部变量”。
构造函数是公共的,就像来自SomeClass的方法一样。有趣的是,当调用项目B中的SomeClass方法时,我可以编译。
发布于 2011-11-14 08:20:12
您必须链接从"SomeClass.cpp“编译的对象代码。如果Project A编译为静态库,则添加对其的引用。
发布于 2011-11-14 08:18:40
源代码是编译的,这是链接器错误。您需要将库(.lib)文件从项目A添加到项目B中的链接器命令中。
https://stackoverflow.com/questions/8124490
复制相似问题