【发布时间】:2011-09-09 21:54:49
【问题描述】:
我有一个包含多个项目和多个命名空间的 VC++ 解决方案。每个项目都有自己的命名空间,有些项目有多个命名空间。
有时,当我从另一个项目中引用一个对象时,即使我#included 头文件并通过它的命名空间 (Namespace::object) 引用该对象,我最终也会遇到“未解析的外部符号”错误。为了摆脱链接器错误,我还必须#include cpp 文件,然后我会收到符号被定义两次的警告。
这很hackish,我不喜欢hackish。
我知道我需要检查所有包含依赖项,因为显然有些事情搞砸了,但我还没有发现任何重大问题。
与此同时,是否有人对任何明显需要检查的内容或导致此问题的任何常见原因有任何建议?
【问题讨论】:
-
相当模糊。使用#include 是不够的,您还必须告诉链接器。它需要链接类的实现。使用 #pragma comment(lib, "whatever.lib") 会有所帮助。
标签: c++ visual-c++ linker include