cmake 사용법과 활용 

cmake는 크로스플랫폼을 지원하는 빌드 시스템입니다.

오픈소스에 관한 관심이 높아짐에따라 하나의 프로젝트를 여러 플랫폼에서 동작하게 하는 것이 중요해졌는데요. 

이러한 상황에 cmake는 매우 쓸모있는 프로그램이라고 할수 있을 것 같아요.

스터디그룹에서 개인 발표로 진행한 cmake PT 자료를 정리해볼까합니다.

cmake를 이용하여 리눅스기반의 C/C++프로젝트를 윈도우에서 빌드하여 사용하는 것을 목표로 잡고 구성한 자료입니다.

활용의 예를 들어보면 이렇습니다.

윈도우 개발환경에서 어떠한 오픈소스 프로젝트를 다운받아 실행시키려보니 이 프로젝트는 리눅스에서 개발된 프로젝트다라고 한다면 매우 번거로운 작업을 통해 윈도우환경으로 변환하는 작업을 해야합니다. 이렇게 매우 귀찮은 작업을 손으로 할것인지???

 

자 이제부터 cmake에 대한 이해와 사용법등을 배워봅시다.

 

 

 

리눅스환경의 경우 다음과같이 gcc -> make를 통해 빌드하게 되는데요

 

윈도우 환경에서는 리눅스에서 만들어진 환경을 어떤식으로 빌드시키는지요?

소스코드를 가지고 비주얼스튜디오에서 로드하여 사용하곤 합니다.

하지만 복잡한 프로젝트의 경우 종속성, 빌드속성, 라이브러리 경로 등의 문제로 소스코드만 가지고 빌드를 진행하기에는 꽤나 많은 문제를 직면하게됩니다. 이럴 경우 CMake가 많은 도움이 됩니다!

 

 

 

 

 

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

 

 

윈도우의 경우 cmake-GUI를 이용하면 보다 쉽게 사용할 수 있습니다.

where is the sourcecode는 makefiles가 존재하는 프로젝트를 설정합니다.

다음 밑의 where to build the bin... 은 프로젝트를 제너레이팅할 대상 폴더입니다.

저같은경우 build2라는 폴더안에 넣기로 설정하였습니다.

입력하셨으면 configure버튼을 눌러 각자 환경에 맡게 설정하시면 됩니다.

 

 

cmakefiles는 cmke를 통해 비주얼스튜디오 프로젝트파일이나 메이크파일 xcode 등으로 제너레이팅이 가능합니다.

 

 

 

 

 

 

 

오픈소스를 배포할때도 다른 플랫폼환경의 사용자들을 생각하여 cmake파일을 배포해두면 보다 많은 범용성을 갖게 할 수 있습니다.



출처: https://eunmink.tistory.com/6 [은민 블로그]

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
23 [C/C++ 인공지능] Artificial Neural Network C++ Class : 인공신경망 C++ 클래스 file 졸리운_곰 2023.11.25 309
22 [C/C++ 인공지능] Visual Studio 2019에서 LibTorch 사용하기 file 졸리운_곰 2023.11.20 394
21 [C/C++ 인공지능] A Simple and Complete Explanation of Neural Networks : 신경망에 대한 간단하고 완전한 설명 file 졸리운_곰 2023.10.22 280
20 [C/C++ 인공지능] Deep Learning from Scratch in C++: Tensor Programming file 졸리운_곰 2023.09.06 342
19 [C/C++ 인공지능] Getting Started with mlpack 졸리운_곰 2023.01.28 311
18 [C/C++][인공지능] Most Useful C/C++ ML Libraries Every Data Scientist Should Know file 졸리운_곰 2022.10.01 423
17 [인공지능] 추론 기법 file 졸리운_곰 2022.05.05 516
16 [C++ 인공지능] C ++을 이용한 단순 MLP 역 전파 인공 신경망 (단계 별) file 졸리운_곰 2022.04.11 370
15 [C/C++인공지능] An Introduction to Machine Learning Libraries for C++ file 졸리운_곰 2021.12.06 360
14 [C/C++][tensorflow 1.x] windows C lib : [Tensorflow] How to Install Tensorflow for C API file 졸리운_곰 2021.11.19 396
13 [C/C++][tensorflow] tensorflovw 1.x version 텐서플로우 C 예제 file 졸리운_곰 2021.11.19 544
12 [C/C++ 인공지능][linux][cuda] flashlight file 졸리운_곰 2021.11.09 506
11 [C/C++] (고전 기호 처리 인공지능) 전문가 시스템 file 졸리운_곰 2020.06.13 330
10 [유전알고리즘] 자동 그림생성 프로그램 - Evolving Image file 졸리운_곰 2018.03.04 913
9 대화 프로그램 - ELIZA 졸리운_곰 2018.03.04 361
8 Caffe 설치하기 ๑•‿•๑ (2) file 졸리운_곰 2018.02.21 337
7 Caffe 설치하기 ๑•‿•๑ (1) file 졸리운_곰 2018.02.21 429
6 Windows 에 Caffe 설치하기 (๑•‿•๑) 졸리운_곰 2018.02.21 306
5 Windows에서 Caffe 예제 돌리기 : MNIST(1) (๑•‿•๑) file 졸리운_곰 2018.02.21 357
4 Caffe 구성 요소들 알아보기: blobs, nets, layer, solver, prototxt ๑•‿•๑ file 졸리운_곰 2018.02.21 571
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED