티스토리 뷰

Research (연구 관련)

Install cmake

홍돌 2019. 6. 1. 15:14

README.rtf 파일 안의 요약

cmake는 os에 상관없이 make를 수행할 수 있는 meta make이다. UNIX 중심 make에 대한 대안이라나.
make자체는 프로그램 빌딩 도구로 위키에 다음과 같이 정의되어 있다.

make 소프트웨어 개발을 위해 유닉스 계열 운영 체제에서 주로 사용되는 프로그램 빌드 도구이다. 여러 파일들끼리의 의존성과 각 파일에 필요한 명령을 정의함으로써 프로그램을 컴파일할 수 있으며 최종 프로그램을 만들 수 있는 과정을 서술할 수 있는 표준적인 문법을 가지고 있다.위의 구조로 기술된 파일(주로 Makefile이라는 파일명)을 make가 해석하여 프로그램 빌드를 수행하게 된다.


https://cmake.org/download/ 여기서 자기 OS(난 MACOS)에 맞는 install package를 다운로드한다. 압축을 푼다고 바로 되는 건 아니고, README.rtf에 따라 설치를 해줘야한다. 맥은 다음과 같다.

 $ ./bootstrap && make && sudo make install

굳이 포스트를 쓰는 이유는 ./bootstrap에서 에러가 났었기 때문이다. 버그가 있는 건 아니고 나처럼 맥북 교체를 하면서 원래 pc에서 모든 것을 옮긴 경우에 문제가 있다. /usr/local/include 관련 에러인데, ./bootstrap 실행 도중 #include <Block.h>에서 에러가 났다. 

/usr/local/include/Block.h:16:3: error: Never include this file directly. Use <lzma.h> instead.
#       error Never include this file directly. Use <lzma.h> instead.
        ^


위와 같은 에러가 난 사람에게 이 포스트는 도움이 될 것이다. 저 에러문구대로 해당 파일에서 Block.h를 lzmah.h로 바꿔준다고 해결이 되진 않고, 나는 /usr/local/include/block.h를 다른데 백업하고 거기선 삭제해서 해결했다. ./bootstrap에서 다운받은 Block.h를 써야하는데 자동으로 원래 /usr/local/include/ 디렉토리에 있던 block.h를 쓰려고 하니 나는 에러였기 때문이다. 구글링 해보니 /usr/local/include의 이름을 바꿔서 참조못하게 해라 뭐 이런게 있는데 /usr/loca/include/에 너무 많은 파일들이 있어서 그렇게하면 다른 프로그램에서 에러가 날 것 같아 Block.h만 옮겼다. (대소문자 상관없이 참조하는듯?)

결론:  /usr/local/include/ 디렉토리에 들어가 기존에 있는 block.h를 지워라

'Research (연구 관련)' 카테고리의 다른 글

초고속 광대역 통신 (Bandwidth & Latency)  (0) 2019.06.24
Optical Flow  (0) 2019.06.06
sudo w  (0) 2019.06.01
Binocular Disparity  (0) 2019.05.27
Ad hoc categories  (0) 2019.05.23
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함