首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实例化在另一个项目中定义的类时未解析的外部变量

实例化在另一个项目中定义的类时未解析的外部变量
EN

Stack Overflow用户
提问于 2013-07-01 11:20:14
回答 2查看 112关注 0票数 0

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

项目A:

代码语言:javascript
复制
// Dominate.cpp
#include "Dominate.h"
Child::Child(int x)
{ }

// Dominate.h
class Child 
{
public:
    int val;
    Child(int x);
};

项目B:

代码语言:javascript
复制
#include "../ConsoleApplication1/Dominate.h"

int _tmain(int argc, _TCHAR* argv[])
{
    Child a = Child(13); // unresolved externals
    return 0;
}
EN

回答 2

Stack Overflow用户

发布于 2013-07-01 11:27:04

不知何故,您需要将项目链接到项目B中。我不是一个足够的VS构建专家,无法向您提供如何做到这一点的详细信息,尽管一个简单可行的方法可能是将dominate.cpp添加到项目B中。我相信菜单项类似于dominate.obj / add Existing...,然后浏览并选择dominate.cpp。

票数 0
EN

Stack Overflow用户

发布于 2013-07-01 16:11:35

这两个cpp文件需要在同一个项目中。您可以使用菜单命令Project,Add to Project,...才能做到这点。然后使用Build命令。它编译两个cpp,然后运行链接器来组合这两个对象。您缺少的正是这个链接器步骤。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17397004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档