我有一些代码分布在三个文件上,我想用第四个“gloabls”文件来存储一些物理常量,例如pi的值。这将避免重复定义pi = 4*atan(1.0)
。跨多个文件的C++全局变量
/*globals.h*/
extern double g_pi;
和全球CPP文件:
/*globals.cpp*/
#include "math.h"
#include "globals.h"
double g_pi = 4*atan(1.0);
然后我包括在我的主文件,这些文件:
/*mainFile.cpp*/
//Include math and other libraries
#include globals.h"
int main() {
/*
....
*/
double x = 2*g_pi
/*
....
*/
}
闲逛,我已经试过是建立一个全球性的头文件之后
这给了我一个未定义的参考错误g_pi。我在Ubuntu上使用g ++编译器。希望它是一个简单的修复!你的建议非常感谢。如果需要更多细节,我会很乐意提供。
问题可能在于您构建可执行文件的方式,因此您应该添加所使用的任何内容以对您的问题执行该操作(Makefile,g ++命令行...)。 – alexisdm 2012-03-14 19:51:44
你能包括你执行编译的确切命令吗?确切的错误信息? – JaredC 2012-03-14 19:52:19