0

하나의 솔루션에 4 개의 프로젝트가 있습니다. 전역으로 하나의 헤더 파일에 extern으로 정의 된 변수를 사용하고 싶습니다.헤더에 extern 변수 사용 및 여러 프로젝트에서 사용

프로젝트에서 프로젝트 1 mainfile.cpp에서

headerfile.h 및 function.cpp 2

headerfile.h의 containts :

extern int nframes; 

mainfile.cpp의 (가) 포함 :

시나리오는 다음과 같이이다
#include "headerfile.h" 
int nframes=0; 

function.cpp containt :

//use value of nframes 

그리고 function.cpp에서 nframes 값에 직접 액세스하려고합니다. 그러나 프로젝트 1에 링커 오류가 있습니다. 해결되지 않은 외부 기호 "int nframes"입니다.

이제 function.cpp에서 nframes를 정의해도 빌드가 성공하지만 컨트롤이 mainfile.cpp에서 function.cpp로 전환하면 nframes의 값이 0으로 재설정됩니다.

친절히 도움.

답변

0

각 프로젝트에 mainfile.cpp를 포함시켜야합니다. 링크 오류는 변수가 정의 된 위치를 찾을 수 없다는 것을 알려주는 것입니다. mainfile.cpp의 이름을 GlobalVariables.CPP로 바꾸면 더 명확하게 나타납니다.

+0

'포함'이란 정확히 무엇을 의미합니까? 그런데 답장을 보내 주셔서 감사합니다! – Pranav

+0

전체 솔루션을 구성하는 각 프로젝트에 포함 된 파일 목록에 추가되었습니다. – Anonymouse

+0

더 모호한 점이 있다고 생각하지 않습니까? – Pranav