【发布时间】:2019-05-30 23:23:42
【问题描述】:
我有一些代码分布在三个文件中,我想使用第四个“gloabls”文件来存储一些物理常数,例如 pi 的值。这将避免pi = 4*atan(1.0) 的重复定义。闲逛之后,我尝试的是创建一个全局头文件:
/*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++ 命令行...)。
-
你能包括你执行编译的确切命令吗?以及确切的错误信息?
标签: c++ header global-variables