我有两个项目A和B。A包含一个头文件/源文件,它简单地定义了一个类Child。我先构建A,没问题。然后构建B并获取error LNK1120: 1 unresolved externals。注意:我可以在A中实例化Child,没有任何问题。我正在使用Visual Studio 2012。
项目A:
// Dominate.cpp
#include "Dominate.h"
Child::Child(int x)
{ }
// Dominate.h
class Child
{
public:
int val;
Child(int x);
};项目B:
#include "../ConsoleApplication1/Dominate.h"
int _tmain(int argc, _TCHAR* argv[])
{
Child a = Child(13); // unresolved externals
return 0;
}发布于 2013-07-01 11:27:04
不知何故,您需要将项目链接到项目B中。我不是一个足够的VS构建专家,无法向您提供如何做到这一点的详细信息,尽管一个简单可行的方法可能是将dominate.cpp添加到项目B中。我相信菜单项类似于dominate.obj / add Existing...,然后浏览并选择dominate.cpp。
发布于 2013-07-01 16:11:35
这两个cpp文件需要在同一个项目中。您可以使用菜单命令Project,Add to Project,...才能做到这点。然后使用Build命令。它编译两个cpp,然后运行链接器来组合这两个对象。您缺少的正是这个链接器步骤。
https://stackoverflow.com/questions/17397004
复制相似问题