3 개의 파일에 걸쳐 코드가 있고 네 번째 "gloabls"파일에 pi 값과 같은 일부 물리적 상수를 저장하고 싶습니다. 이것은 pi = 4*atan(1.0)
의 반복적 인 정의를 피할 것입니다.여러 파일에 걸친 C++ 전역 변수
/*globals.h*/
extern double g_pi;
및 글로벌 CPP 파일 :
/*mainFile.cpp*/
//Include math and other libraries
#include globals.h"
int main() {
/*
....
*/
double x = 2*g_pi
/*
....
*/
}
: 다음
/*globals.cpp*/
#include "math.h"
#include "globals.h"
double g_pi = 4*atan(1.0);
내가 내 주요 파일이 파일을 포함 I 글로벌 헤더 파일을 만드는 시도했다, 주위를 파고 후
이렇게하면 g_pi에 대한 정의되지 않은 참조 오류가 발생합니다. 우분투에서 g ++ 컴파일러를 사용하고 있습니다. 바라기를 그것의 간단한 고침! 귀하의 제안은 높이 평가됩니다. 더 자세한 내용이 필요하다면 나는 그들을 기꺼이 제공 할 것입니다.
문제는 실행 파일을 빌드하는 방법과 관련되어 있으므로 질문에 사용하는 모든 것을 추가해야합니다 (Makefile, g ++ 명령 줄 ...). – alexisdm
컴파일 할 때 실행할 정확한 명령을 포함 할 수 있습니까? 그리고 정확한 오류 메시지? – JaredC