2016-11-23 1 views
-1

저는 Visual Studio 2015에서 Windows 프로젝트를 작업하고 있습니다. 그러나 이제는 Linux에서 실행되도록 컴파일해야합니다. 나는 실패한 시도를 반복해서 시도해 왔으며 CMake가 그 일을하는 가장 좋은 방법이라고 읽었지 만 그 주위에 머리를 쓰는 데 어려움을 겪었습니다.리눅스에서 CMake를 머리에 쓰다

Othello.cpp - Main is in here 
Board.cpp 
MonteCarlo.cpp 
Node.cpp 

Board.h 
MonteCarlo.h 
Node.h 

을 본질적으로 나는 내가 그것을 컴파일 얻을 수 있겠 방법으로 손실 오전 :

나는 다음과 같은 파일이 있습니다. 읽어 주셔서 감사합니다!

+2

프로그램이 Windows API에 종속되어있는 경우 CMakeLists.txt 파일을 작성하는 것보다 훨씬 더 많은 작업이 필요합니다. – user888379

+0

API를 말할 때 무슨 뜻입니까? 나는 그것이 내 지식의 범위까지는하지 않는다고 믿는다. –

+2

API는 'Application Program Interface (응용 프로그램 인터페이스)'를 의미합니다. 프로그램에 Windows 관련 헤더 파일과 Windows 관련 라이브러리가 포함되어있는 경우이를 컴파일하여 Linux에서 실행하면 CMake 프로젝트 파일을 설정하는 간단한 메커니즘 외에도 중요한 작업이 될 수 있습니다. – user888379

답변

1

이미 다음과 같은 작업을 수행 할 수 Windows 및 Linux 사용자 사이의 네이티브 API를 구현 문제가 알아서 한 가정하면, 모든

첫 출발점으로 공식 튜토리얼 및 문서를 참조하십시오. 당신이 CMakeLists.txt 파일이없는 경우

- myproject 
    - CMakeLists.txt 
    - main.cpp 
    - otherstuff.cpp 

다음 튜토리얼과 변화를 읽어

https://cmake.org/cmake-tutorial/

https://cmake.org/documentation/

의는 다음과 같은 디렉토리가 있다고 가정하자 소스 파일 이름.

cmake 프로그램에서 만들 모든 파일이 들어있는 별도의 디렉토리를 만드는 것이 좋습니다.

mkdir build && cd build 

이제 cmake를 실행하고 CMakeLists.txt 파일의 기본 위치를 알려줍니다. 우리의 경우 하나의 디렉토리가 올라간다.

cmake .. 

구성 프로세스가 진행되며 프로세스가 완료되었음을 알리는 텍스트가 표시됩니다. 빌드 디렉토리에 makefile이 있습니다. 이제는 make 명령 만 실행하면됩니다.

make 

그런 다음 TARGET_LINK_LIBRARIESINCLUDE_DIRECTORIES 명령을 살펴 라이브러리에 연결하는 경우.