2013-03-16 6 views
0

내가 전역 변수를 선언 할 때, 오류 얻을 :링커 명령이 실패 INT 변수

import "menuplay.h" 

import "buttonmanager.h" 

int test; //<--------------when i declare it show error Apple Mach-O Linker Error 

@interface lessonone : CCLayer { 
... 
} 
+0

목표 C에서 전역 변수를 사용하지 마십시오. - – Guru

답변

1

정적을 선언 :

static int test; 
을 여기

linker command failed with exit code 1 (use -v to see invocation)

코드입니다

값을 변경하지 않아도되는 const 또는

const int test = 10; 
+0

static int test; 다른 방법으로 값을 변경할 수 있습니까? 이 오류는 없지만 menu.mm 값 = 0으로 테스트를 표시하면 테스트 = 10 의 값을 정의합니까? –

+0

은 다른 변수이기 때문에 menuplay.mm에서 이것을 다음과 같이 선언해야합니다 : extern int test; – LearnCocos2D

+0

http://stackoverflow.com/questions/8808159/objective-c-global-variables 일반 오래된 C 전역 변수를 사용하면됩니다. 먼저 주 기능 앞에 main.m에 변수를 정의하십시오. #import <...> // 전역 변수 정의. 유형 변수; int main() { ... 둘째, 다른 소스 파일에 대해 알릴 필요가 있습니다. 일부 .h 파일에서 선언하고 변수가 필요한 모든 .m 파일에서 파일을 가져와야합니다. // .h 파일 // 변수 선언. extern 유형 변수; –

관련 문제