본문 바로가기

Developement/C/C++

Cygwin+GCC/G++ 에서 POSIX path 지정 오류 발생. (해결)

이전의 문제점 이던, CodeBlocks 에서 새로운 Cygwin w/ gcc/g++ 컴파일 오류는 다음과 같이 해결이 가능했습니다.
간단히, Cygwin 내에서 /usr/bin/ 내용을 확인 해 보니, 다음과 같이 연결 되어 있더군요.


/usr/bin/g++.exe 는 /etc/alternatives/g++.exe 를 symbolic-link.
/etc/alternatives/g++.exe 는 다시 /user/bin/g++-4.exe 를 서로 symbolic-link 하고 있었던 것 입니다.
그래서 CodeBlocks 에서 직접 /usr/bin 에 있는 g++.exe 를 실행 해서는 컴파일 결과를 얻을 수 없었던 것 입니다.

이 문제는 CodeBlocks 내의 옵션을 다음과 같이 설정 해 주면 됩니다.

기존의 gcc.exe 를 gcc-4.exe로.
g++.exe 를g++-4.exe 로 변경 하면 일단 컴파일은 문제 없이 수행 될 수 있어 보입니다만, 반드시 이전 글 에 있는 중복적인 내용을 적용해야 합니다. (CYGWIN 항목에 nodos ... 관련 환경 변수를 등록 해야 함)

정상적이라면, 컴파일 후, (로그가 많이 깨지는 현상이 생깁니다만) 정상적인 결과를 볼 수 있습니다.

단, 로그가 깨지는 이유는 g++ 의 출력 형태가 변경이 되어서 인데, 이는 아래 캡쳐와 같이 작은 따움표의 표현이 바뀐 상태로오게 되기 때문 입니다.
이는 CodeBlocks 에서 오류 문구 parse 를 변경 하지 않는 이상 달라지진 않아 보이네요. 

일단, Cygwin 에서 gcc 4.x.x 대를 쓰게 됨 으로서, UTF8/unicode 관련 string , stream 을 쓸 수 있게 되었습니다.
물론 컴파일도 잘 되구요.

혹시 저와 같은 노가다를 하시는 분이 안계시도록 도움이 되었으면 합니다.