c++ - vc++ 无法解析的外部符号(无法调用构造函数)

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

我有一个包含两个项目的 VC++ 解决方案。项目 B 引用项目 A。项目 B 还具有项目 A 中的文件夹作为包含目录(属性/配置属性/C++/其他包含目录)。未使用任何命名空间。

当我从项目 A 类(如 #include "someFolder\SomeClass.h")导入 header 时,我可以声明指向该类的指针。

SomeClass *sc;

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

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

我得到:

error LNK2001: "unresolved external symbol "public_ thiscall SomeClass::SomeClass(..." and "error LNK1120: 1 unresolved externals".

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

最佳答案

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

关于c++ - vc++ 无法解析的外部符号(无法调用构造函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8124490/

相关文章:

visual-studio-2010 - Visual Studio 和 OpenCV 无法链接 cv.lib

c++ - 解析文件时输出错误?

c++ - 当前函数地址 - x64

c++ - 如何实现一个简单的事件队列?

c++ - C++ GRPC客户端与golang服务器连接错误

c - MSVC#pragma 优化参数示例

algorithm - visual c++在std::sort中使用什么排序算法

c++ - 如何在 C++ 中格式化?

asp.net - 将 SQL 查询存储在资源文件中是一种不好的做法吗?

c++ - 同时运行两个函数