Eclipse/GCC:对 Extern 变量的未定义引用
Eclipse/GCC: Undefined Reference to Extern Variable
对不起,如果这是一个重复的问题,但我一直在搜索几个小时,我得到了相互矛盾的答案......更糟糕的是,它们都没有工作。
这是一件简单的事情。我有很多源文件,并且我有一些常见的参数,我想放在一个文件中,比如"Parameters.h"。我想在运行时设置这些参数(一次(,将它们作为参数传递给程序。
PS:我知道更好的方法是将所有内容作为参数传递给函数,但这是一段笨重的代码,我需要尽快获得结果而无需进行太多更改。
这是一个最小的工作示例:
参数.h
#ifndef PARAMETERS_H_
#define PARAMETERS_H_
extern int Alpha;
#endif
主.cpp
#include <iostream>
#include "Parameters.h"
int main(int argc, char * argv[])
{
const int Alpha = 12.0;
}
功能.cpp
#include "Parameters.h"
double Foo(const double& x)
{
return Alpha*x;
}
当我编译时
gcc main.cpp Functions.cpp
我收到错误"函数.cpp:(.text+0xa(:对'阿尔法'的未定义引用"。
您已经声明了一个名为 Alpha
的全局变量,但尚未定义它。在一个源文件中,在文件范围内写入:
int Alpha;
或使用初始值设定项:
int Alpha = 42;
请注意,您在main
中定义的名为Alpha
的局部变量与此全局变量不同且完全无关。
相关文章:
- 尝试调用 .h 文件中定义的变量时出现变量未定义错误
- QT C++中对全局变量的未定义引用
- C++ 如何检查 char 变量是否未定义(未初始化)
- 是否未定义将对函数范围变量的引用作为值返回
- 双循环变量的相等条件:未指定还是未定义
- 为什么 mfc 中静态文本工具中的变量未定义
- 未定义的行为错误:对成员变量的更改仅在某些上下文中可见
- 获取作为类变量的 Deque 大小时未定义的行为
- 标头中的成员变量未定义
- 使用静态变量未解析的外部符号/未定义的引用时出错
- 对成员函数和变量的未定义引用
- 从文件行读取未定义数量的变量
- C++类方法包含对静态变量的未定义引用
- C++ - 对"类::变量"的未定义引用
- 未定义的引用指针的变量模板在clang中功能,而不是GCC
- 我的参数化构造函数说我的字符串变量未定义
- 为什么当我通过引用传递数组时,我会收到一个编译器错误,指出我的变量未定义
- 变量未定义错误
- 静态变量-未定义的引用
- 当异常变量未定义时,通过引用捕获