2013년 5월 17일 금요일

리눅스에서 파일 끝문자 "^M"을 없애는 방법

리눅스를 사용 중일 때 가끔 윈도우에서 작업한 파일을 열다보면
파일의 끝에 ^M 문자가 보일 때가 있다.
이 경우 파일을 알아보기 힘들기 때문에 이 문자를 삭제하는 방법으로

vi 또는 vim 에서 다음 명령어를 입력하면 된다.

   :%s/[Ctrl+v][Ctrl+m]//

2013년 4월 29일 월요일

make menuconfig 명령어 실행 설치 패키지

make menuconfig 명령어를 실행하려고 할 때 패키지가 제대로 설치되어 있지 않다면




 *** Unable to find the ncurses libraries or the
 *** required header files.
 *** 'make menuconfig' requires the ncurses libraries.
 ***
 *** Install ncurses (ncurses-devel) and try again.
 ***



위와 같은 오류를 볼 수 있는데, 이럴때 패키지를 설치를 해야 하는데 너무 자주 까먹어서

블로그에 적어놓도록 하겠습니다. 설치 명령어는 다음과 같습니다.

   sudo apt-get install libncurses5-dev

위의 명령어를 입력하게 되면 make menuconfig 명령어를 수행하기 위해서 

필요한 패키지가 설치 된 것입니다.

패키지를 설치한 후에 확인을 하기 위해서 

   sudo make menuconfig

를 입력하면 제대로 동작하는 것을 확인할 수 있을 것 입니다.

참고로 말하지만, sudo 명령어를 잊지 마세요.

(난 방금 잊어먹고 왜 안되나 했음요 ㅠㅠ)

error: stray '\357' in program 오류 해결방법


짜증나던 문제를 해결을 해서 그 문제에 대한 이야기를 할까 합니다.

리눅스에서 소스코드를 컴파일하다 보면 종종

error: stray '\357' in program
error: stray '\273' in program
error: stray '\277' in program
error: stray '#' in program

이런식의 에러가 나는 경우가 있는데요. 

황당한것은 어디서는 되고 어디서는 안되는 짜증유발을 하게 한다는 것이지요.

저도 오랜만에 당하는 일이라서 짜증이 폭발할 지경이었습니다. 

리눅스에서 

file [파일명] 

명령을 입력하면 명령에 대한 결과로

UTF-8 Unicode (with BOM) C program text

와 같은 출력문을 볼 수 있습니다. 저도 처음에는 "이게 왜 안되지?" 라는 생각이 들었습니다만.

이 문제의 경우에는 파일형식에 대한 문제라기보다는 파일의 끝문자가 다르기 때문이라는거 같더라고요.

뭐 저는 그래서 이렇게 저렇게 해보다가 결국은 vim에서 (저는 주로 vim을 사용합니다.)

:set nobomb

명령을 입력하고 저장하면 소스가 컴파일이 되더라고요. 무척 간단했죠. -ㅅ-;;;

넵. 해결하고도 짜증이 폭발했습죠. 여러분들도 이 글을 빨리 찾으셨다면 짜증이 안나셨겠지만

오래 걸려서 찾으셨다면 심심한 위로의 말씀을 드리고 싶군요.