【发布时间】:2013-10-17 13:41:15
【问题描述】:
对不起,如果这是一个重复的问题,但我已经搜索了几个小时,我得到了相互矛盾的答案......更糟糕的是,他们都没有工作。
这很简单。我有很多源文件,我有一些我想放在一个文件中的常用参数,比如“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;
}
函数.cpp
#include "Parameters.h"
double Foo(const double& x)
{
return Alpha*x;
}
当我编译时
gcc main.cpp Functions.cpp
我收到错误“Functions.cpp:(.text+0xa): undefined reference to `Alpha'”。
【问题讨论】:
标签: c++ eclipse gcc linker global-variables