0

我有两个项目 A 和 B。A 包含一个简单定义类的头文件/源文件Child。我先建A,没问题。然后构建 B 并得到error LNK1120: 1 unresolved externals. 注意我可以毫无问题地在 A 中实例化 Child 。我正在使用 Visual Studio 2012。

项目一:

// 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;
}
4

2 回答 2

0

不知何故,您需要将dominant.obj链接到项目B。我不是一个VS构建专家,无法为您提供有关如何执行此操作的详细信息,尽管一种简单可行的方法可能是将dominant.cpp添加到项目B中。我相信菜单项类似于Project/Add Existing...,然后浏览并选择dominant.cpp。

于 2013-07-01T03:27:03.517 回答
0

两个 cpp 文件需要在同一个项目中。您可以使用菜单命令 Project、Add to Project、... 来实现。然后使用构建命令。它编译两个 cpp,然后运行链接器以组合两个 obj。您缺少的是此链接器步骤。

于 2013-07-01T08:11:35.477 回答