1. 程式人生 > >ubuntu下cmake使用簡述

ubuntu下cmake使用簡述

cmake使用方法

目錄

用途

  • 用於梳理檔案之間的關係,生成make檔案

使用規則

  • 在原始檔目錄生成一個CMakeLists.txt檔案(一字不差),在裡面書寫規則
  • 然後在terminal依次輸入命令,然後就生成可執行檔案了
cmake .
make

單檔案/單個原始檔

  • 在add_executable()將可執行檔案的檔名寫在首位,其他原始檔在後
cmake_minimum_required(VERSION 2.8)
add_executable(Main main.c)

單檔案/多個原始檔

cmake_minimum_required(VERSION 2.8
) add_executable(Main main.c add.c multi.c )

多個資料夾/單個CMakeLists.txt

  • 將各個下一級資料夾中的檔案逐個列出即可
cmake_minimum_required(VERSION 2.8)
add_executable(Main
  main.c
  addAndSub/add.c
  addAndSub/sub.c
  multiAndDiv/multi.c
  multiAndDiv/div.c
)

多個資料夾/多個CMakeLists.txt

  • 每個資料夾都建立一個CMakeLists.txt,此時就不需要書寫各個原始檔名了
#CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
add_subdirectory(addAndSub) 
add_subdirectory(multiAndDiv) 
add_executable(Main main.c)
target_link_libraries(Main addAndSub multiAndDiv) 
)

camke使用例項

例子中的程式

//main.c
#include<stdio.h>
int main(){
    int result;
    result = div(add(7
,8),sub(76,75))*multi(4,5); printf("%d\n",result); return 0; }
//add.c
#include <stdio.h>
int add(int a,int b){
    return (a+b);
}
#include <stdio.h>
int sub(int a,int b){
    return (a-b);
}
int div(int a,int b){
    return (a/b);
}
int multi(int a,int b){
    return (a*b);
}