TANGLE

Eclipse CDT Indexer 문제 MinGW로 해결하기



본인은 cocos2d-x 안드로이드 작업을 이클립스에서 하는데, NDK_ROOT 환경 변수가 제대로 먹히지 않는 건지 모종의 이유로 Proposal에 C++ 라이브러리가 전혀 뜨지 않았다. 아무리 컨트롤 스페이스바를 눌러도 자동완성 목록이 뜨지가 않았다. Eclipse CDT의 Proposal 또는 자동완성(Auto-Completion) 기능은 Indexer가 인덱싱한 것들을 기반으로 한다. 그러므로 Proposal에 뜨지 않았다는 건 Indexer가 그 파일을 읽지 않았다는 소리다. 이 문제를 해결하기 위해 Provider에서 온갖 Built-in Compiler 설정과 싸워봤지만 해결이 되지 않았다. 


이번에 윈8.1로 갈아타면서 다시 터진 문제인데, 저번에 내가 어떻게 해결했는지 곰곰히 생각하니, 그때는 MinGW도 컴퓨터에 설치했었다는 걸 깨닫고, 이게 제대로 될랑가 아리송아리송한 채로 해결을 시도했는데.. 됐다. 그말인 즉슨, 실제로 빌드할 때 사용하는 라이브러리와 별개로, CDT 인덱싱용 라이브러리를 따로 두어 거기에 연결시키는 방법이다. 사실 라이브러리 경로를 명시적으로 하면 해결되는 문제였지만 명시적 경로는 유연성이 떨어져서 그냥 최초로 한 번 설정하고 이후로 별 문제 없는 방법을 선택하기로 했다. 그러나 이건 이것대로 (많이) 귀찮다.


본인 운영체제: 윈도우8.1

이클립스 버젼: Eclipse Mars R



1. http://ezkorry.tistory.com/171

우선 여기서 나온 4가지 방법을 시도해보자. 


2. CDT가 최신 버젼인지 확인.

CDT Repository 링크: https://eclipse.org/cdt/downloads.php


아래 글은 이 방법마저도 되지 않을때 시도할 수 있는 방법이다. 사실 간단하다. mingw-w64 설치하는 것 밖에 없다.


3. mingw-w64 설치

http://sourceforge.net/projects/mingw-w64/ 들어가서 설치를 한다.


4. 환경 변수 설정

Path에 mingw64\bin 디렉토리를 추가해준다.  (환경 변수 설정법은 http://ezkorry.tistory.com/184 참고.)


5. MinGW Built-in Compiler 추가하기




Project - Properties - C/C++ General - Preprocessor Include Paths, Macros etc - ProvidersCDT GCC Built-in Compiler Settings MinGW를 추가해준다. 

단, 아래에 Toolchain MinGW GCC is not detected on this system 메세지가 뜬다면 제대로 설치되지 않았다는 뜻이므로 환경 변수를 확인하던가, 컴퓨터를 재시작하여 제대로 설치가 반영되도록 하자.


OK를 누르고 Project - C/C++ Index - Rebuild 를 (하지 않더라도 자동으로 리빌드를 하겠지만 그렇지 않을 경우에 ) 눌러서 완료! 캬! 이제 잘 됨 개꿀