变量前向声明-LNK1120错误(外部未解决)

时间:2019-06-17 20:33:52

标签: c++

我试图在VS2017解决方案中创建一个全局变量,以在(2)个CPP文件之间共享一个整数。我以为这没什么大不了的,但是对于我一生来说,我无法撼动这个令人毛骨悚然的LNK1120错误。这应该很容易,请告诉我在哪里搞砸。

我尝试了一个非常简单的程序,该程序对我不起作用(获取LNK1120)。在VS2017中是否需要设置一些特定的东西?我试图使cpp文件相互依赖,但没有骰子...

global.cpp:

int g_x;
int g_y(2);

main.cpp:

#include <iostream>
extern int g_x;
int main()
{
    extern int g_y;
    g_x = 5;
    std::cout << g_y; // should print 2
    return 0;
}

上面的示例来自此网站(https://www.learncpp.com/cpp-tutorial/42-global-variables/

代码可以编译,但是链接器不断在下面抛出错误;

Error   LNK2001 unresolved external symbol "int g_x" (?g_x@@3HA)    
Error   LNK2001 unresolved external symbol "int g_y" (?g_y@@3HA)    
Error   LNK1120 2 unresolved externals

这使我相信链接器配置设置中是否需要设置某些内容?我在这里想念什么?

0 个答案:

没有答案