繁体   English   中英

Eclipse / GCC:未定义的外部变量引用

[英]Eclipse/GCC: Undefined Reference to Extern Variable

对不起,如果这是一个重复的问题,但我一直在寻找几个小时,我得到了相互矛盾的答案......更糟糕的是,他们都没有工作。

这是一件简单的事情。 我有很多源文件,我有一些常见的参数,我想在一个文件中,比如“Parameters.h”。 我想在运行时设置这些参数(一次),方法是将它们作为参数传递给程序。

PS:我知道更好的方法是将所有内容作为参数传递给函数,但这是一段很大的代码,我需要尽快得到一个结果,而不需要做太多的更改。

这是一个最小的工作示例:

Parameters.h

#ifndef PARAMETERS_H_
#define PARAMETERS_H_

extern int Alpha;

#endif

main.cpp中

#include <iostream>
#include "Parameters.h"

int main(int argc, char * argv[])
{
    const int Alpha = 12.0;
}

Functions.cpp

#include "Parameters.h"

double Foo(const double& x)
{
    return Alpha*x;
}

当我编译时

gcc main.cpp Functions.cpp

我收到错误“Functions.cpp :(。text + 0xa):未定义引用”Alpha“”。

您已声明了一个名为Alpha的全局变量,但尚未对其进行定义。 在一个源文件中,写入文件范围:

int Alpha;

或者使用初始化程序:

int Alpha = 42;

请注意,您在main定义的名为Alpha的局部变量与此全局变量不同且完全无关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM