我有一个vc++解决方案,有两个项目。项目B引用项目a。项目B也有项目a的包含目录(属性/配置属性/c++/附加包含目录)。没有使用命名空间。
当我从像#include "someFolderSomeClass.h"
这样的项目a类导入头文件时,我可以声明一个指向该类的指针。
SomeClass *sc;
但是一旦我调用构造函数,它就不会编译。智能感知不显示任何错误。
SomeClass *sc = new SomeClass("someString");
我得到:
错误LNK2001: "未解析的外部符号" public_thiscall SomeClass::SomeClass(…"one_answers"错误LNK1120: 1未解析的外部符号".
构造函数是公共的,就像SomeClass中的方法一样。有趣的是,我可以在项目b中从someeclass调用方法时进行编译。只有构造函数似乎不起作用。
您必须链接从" somecclass .cpp"编译的目标代码。如果项目A编译为静态库,则添加对它的引用。
源代码没有编译,这是一个链接器错误。您需要将项目A中的库(.lib)文件添加到项目b中的链接器命令中。