使用makefile編譯C 工程

2021-10-01 20:28:38 字數 1151 閱讀 6015

目錄結構

kexin

外層cmakelists.txt編寫///

·# cmake 最低版本號要求

cmake_minimum_required(version 3.7 fatal_error)

·# 專案資訊

project(「kexin」)

·# include路徑

include_directories($/include)

·# 設定可執行檔案生成路徑

set(executable_output_path $/…/bin)

·# 生成debug版本

set(cmake_build_type 「debug」)

if (cmake_build_type strequal debug)

add_definitions(-d_debug)

endif ()

·# 查詢當前目錄下的所有原始檔

·# 並將名稱儲存到 dir_srcs 變數

·# aux_source_directory(. dir_srcs)

·# 新增src子目錄

add_subdirectory(src)

·# 指定生成目標

add_executable(mykexin main.cpp)

·# add_executable(kexin $ src/main.cpp src/operator.cpp src/functor.cpp src/set_opp.cpp src/template.cpp)

target_link_libraries(mykexin src11)

內層cmakelists.txt編寫///

·# 查詢當前目錄下的所有原始檔

·# 並將名稱儲存到 dir_lib_srcs 變數

aux_source_directory(. dir_lib_srcs)

·# list(remove_item $ factorty.cpp)

·# 生成鏈結庫

add_library(src11 $)

編譯及除錯///

cd kexin

rm -r build

mkdir build

cmake … && make

cd …/bin

gdb ./mykexin

Makefile工程編譯

1.寫在前面 本篇文章講的是接前面makefile之編譯多個可執行程式中第二個需求,並延伸到對正規工程的編譯。2.工程 我接觸的工程有2種情況 所有原始檔都放乙個目錄 按模組分放不同的目錄 下面按照這兩種情況講解。3.所有原始檔都放乙個目錄 不建議所有原始檔都放乙個目錄,當工程大時,乙個目錄下會有很...

使用makefile編譯c程式

一 makefile的規則 makefile的規則如下 target prerequisites command 這裡的command是指生成或是處理target隨執行的命令 prerequisites指的是生成target所需要依賴的檔案.二 乙個示例 自行編寫了2個c檔案 get max.c,f...

編譯 makefile使用

本文重在記錄makefile的使用方法,不介紹相關原理。注意 所有的makefile指令前面都需要兩個tab縮排 1.初步使用 建立工作目錄,工作目錄下建立如下兩個檔案 main.c include int main makefile 或 makefilemain.o main.c cc c mai...