在标题中使用extern变量并在多个项目中使用

时间:2014-04-13 13:35:22

标签: c++ visual-studio-2010 linker-errors extern multiple-projects

我在一个解决方案中有4个项目。 我想在全局的一个头文件中使用定义为extern的变量。 场景是这样的:

project1中的

headerfile.h和function.cpp 项目2中的mainfile.cpp

headerfile.h包含:

extern int nframes;

mainfile.cpp containt:

#include "headerfile.h"
int nframes=0;

function.cpp containt:

//use value of nframes

我试图直接访问function.cpp中的nframes值。 但是项目1中存在链接器错误:未解析的外部符号" int nframes"。

现在,当我在function.cpp中定义nframe时,构建成功,但是当控件从mainfile.cpp切换到function.cpp时,nframes的值重置为0。

请帮助。

1 个答案:

答案 0 :(得分:0)

您需要在每个项目中包含mainfile.cpp。链接错误只是告诉它无法找到变量的定义位置。建议将mainfile.cpp的名称更改为GlobalVariables.CPP,它应该让你更清楚。