2017-10-31 6 views
0

빌드, 포함 및 src의 세 가지 폴더로 프로그램을 나눕니다.머리글과 본문을 포함하는 CMakeLists.txt 만들기

Build는 Makefile에서 생성 된 모든 파일을 포함시키고 include는 "file.h"를 포함하고 src는 "file.c"와 "main.c"를 포함합니다.

나는 CMakeLists.txt 파일이 작성했습니다 :

cmake_minimum_required (VERSION 3.5.1) 

project(Listas_interlazadas) 

include_directories(${include}) 


add_executable(ejec 
    src/main.c 
    src/listas.c 
    include/listas.h 

) 

는 그럼에도 불구하고, 나는 src 폴더를 포함 든 것으로 판단. 또한 모든 파일을 빌드 폴더로 보내려면 어떻게해야합니까? 터미널에서 왔지?

감사합니다.

답변

0

코드에 약간의 재 작업이 필요합니다.

  • 명령 include_directories의는 유효한 경로를 지정해야합니다
  • 프로젝트의 다음과 같은 구조를 가정들은 소스 파일의

에 포함되지 않은 경우에만에 추가 헤더 파일 :

project 
    +--source 
    | +--CMakeLists.txt 
    | +--src 
    | | +--main.c 
    | | +--listas.c 
    | +--include 
    |   +--listas.h  
    +--build 

재 CMakeLists.txt

cmake_minimum_required (VERSION 3.5.1) 

project(Listas_interlazadas) 

include_directories(include) 

add_executable(ejec 
    src/main.c 
    src/listas.c 
) 
위로 질문에

:

  • 는 소스를 추가 : 당신은 이미 필요한 소스 파일을 삽입했다. add_executable을 참조하십시오.
  • 폴더를 빌드 할 원본 복사 : 필요하지 않습니다.

프로젝트를 빌드하려면 cmake를 실행하고 make (또는 Windows에서 nmake)를 실행해야합니다.

단계 :

  1. 열기 명령 셸
  2. 빌드 폴더
  3. 실행에
  4. 이동 : cmake ../source는
  5. 실행한다 : make

Some important parts of a CMakeLists.txt

+0

'add_executable'에 헤더를 나열하면 * 의미가 있습니다. fi IDE가 프로젝트의 일부임을 IDE에 알립니다. – oLen

+0

당신 말이 맞아요. 하지만 이것은 OP에서 요청한 것이 아니며 IDE에 의존합니다. 예 : QtCreator는 그것을 필요로하지 않습니다. –