본문 바로가기

Developement/C/C++

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

우분투에서 개발이 좀 어려운 면이 있어, console application 개발용으로 Cygwin 과 g++ 를 CodeBlocks 10.05 에서 사용 중 이었습니다만, 구 버젼 cygwin 의 gcc 가 3.4.4 인 관계로 wstring 과 wostream, wistream 등에서 문제가 발생 했습니다.

그래서 gcc 4.5.1 을 쓰는 마지막 cygwin version 을 사용 했더니, 여전히 위와 같이 컴파일 하면 아무런 동작을 하지 않습니다.
혹시나 해서 cygwin shell 에서 컴파일을 해 보니, nodosfilewarning 을 지정하라는 말이 나옵니다.
아무래도 DOS 형태의 지정은 POSIX 에 위배 되는 행우 이겠죠. 

일단, 이 nodosfilewarning 이란 오류를 안보기 위해, shell 상에서 DOS 의 set 과 같은 export로, 해당 env 를 지정해 본 다음 컴파일을 시도 했습니다.

네. 잘 됩니다.
이걸 이제 시스템에 반영 하려면 윈도우즈 시스템 환경 변수에 지정해야 하는데, 이때는 위와 달리 아래처럼 CYGWIN 항목에 nodosfilewarning 을 지정해야 한다고 나오더군요. 

일단 해 봤습니다만, 여전히 CodeBlocks 에서는 반응이 시원치 않군요.
Cygwin 버젼이 올라가면서 POSIX 에 대해 좀 더 민감해 지고, g++ 사용이 어려워 진 면이 CodeBlocks 에 반영되지 않은 듯 합니다.
이럴 경우 우분투에서 그냥 컴파일 하는 것이 더 나아 보이기도 하네요 ..
원격 VNC 를 통해서 개발은 가능하나, 여러 악조건이 있는 관계로 난관에 부딧힌 상태기도 합니다.

이 문제를 해결 하면 추가로 글을 작성하여, 해결 방안을 공유해 보도록 하겠습니다.