Makefile 編寫

1. 原生 Makefile

自己編寫 Makefile 文件

CPP_SOURCES = $(wildcard f8left/*.cpp)
HEADERS = $(wildcard f8left/*.h)

OBJS = ${CPP_SOURCES:.cpp=.o}

TARGET = fixs

CC = g++
CFLAGS = -g -std=c++11 -Wformat=0


$(TARGET) : $(OBJS)
    $(CC) $(CFLAGS) $^ -o $@

%.o : %.cpp $(HEADERS)
    $(CC) $(CFLAGS) -c $< -o $@

clean:
    rm -f $(TARGET) $(OBJS)

2. CMakeLists.txt 文件

CMake的所有的語句都寫在一個叫:CMakeLists.txt的文件中。當(dāng)CMakeLists.txt文件確定后,可以用ccmake命令對相關(guān) 的變量值進(jìn)行配置。這個命令必須指向CMakeLists.txt所在的目錄。配置完成之后,應(yīng)用cmake命令生成相應(yīng)的makefile(在Unix like系統(tǒng)下)或者 project文件(指定用window下的相應(yīng)編程工具編譯時)。

其基本操作流程為:

$> ccmake directory
$> cmake directory
$> make

其中directory為CMakeList.txt所在目錄;

第一條語句用于配置編譯選項(xiàng),如VTK_DIR目錄 ,一般這一步不需要配置,直接執(zhí)行第二條語句即可,但當(dāng)出現(xiàn)錯誤時,這里就需要認(rèn)為配置了,這一步才真正派上用場;
第二條命令用于根據(jù)CMakeLists.txt生成Makefile文件;
第三條命令用于執(zhí)行Makefile文件,編譯程序,生成可執(zhí)行文件;
cmake_minimum_required(VERSION 3.3)
project(SoFixer)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

# if Want to build 32 bit executable, please set this flag
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")


aux_source_directory(. ROOT_SRC)

if(SLibrary)
    add_library(SoFixer STATIC ${ROOT_SRC})
else()
    add_executable(SoFixer ${ROOT_SRC} main.cpp)
endif()

暫無時間去完全理解,可參考:https://www.cnblogs.com/lidabo/p/7359422.html
有時間再弄

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • CMake學(xué)習(xí) 本篇分享一下有關(guān)CMake的一些學(xué)習(xí)心得以及相關(guān)使用。 本文目錄如下: [1、CMake介紹] [...
    AlphaGL閱讀 12,450評論 11 79
  • 注:首發(fā)地址 1. 前言 當(dāng)在做 Android NDK 開發(fā)時,如果不熟悉用 CMake 來構(gòu)建,讀不懂 CMa...
    cfanr閱讀 24,806評論 1 53
  • 通配符 $? 所有比目標(biāo)新的依賴目標(biāo)的集合 $^ 所有依賴 的集合 $+ 所有依賴的目標(biāo)的集合,但是不去重 $% ...
    cendechen閱讀 184評論 0 0
  • 1.安裝 $sudo apt-get install cmake 2.示例:簡單的文件目錄 sample |—...
    荷包蛋醬閱讀 29,918評論 0 15
  • 不知道是不是只有自己有戀夜的愛好,靜謐的夜讓自己的思緒不再那么跳動.白天和黑夜,自己就像是兩個不同的存在,或許白天...
    何以笙簫墨閱讀 411評論 2 0

友情鏈接更多精彩內(nèi)容