cmake中新增 -g編譯選項
在cmake 3.12之前,新增編譯選項可以如下方式新增
add_definitions("-Wall -g")
新增了之後,就相當於在編譯的時候加上了 -Wall -g
選項
#沒加之前
gcc -c main.c -o test
#新增之後,相當於
gcc -g -Wall -c main.c -o test
書中給出的示例如下:
add_definitions(-DSomeSymbol /DFoo=Value ...)
remove_definitions(-DSomeSymbol /DFoo=Value ...)
但是到cmake 3.12之後,最好使用編譯選項專用的新增方式:
add_compile_definitions(SomeSymbol Foo=Value ...)
通過指令
$ cmake --version
cmake version 3.18.4
CMake suite maintained and supported by Kitware (kitware.com/cmake).
檢視自己的cmake版本,若是在3.12之後的版本最好使用add_compile_definitions
函式,要是3.12之前的版本,只能使用add_definitions
或者直接設定變數的方式進行
這裡給出一個CMakeLists.txt
的小例子,這個小例子是在學習設計模式的時候編寫的一個用於編寫多個可執行小demo的cmake檔案,全部工程包括設計模式原始碼見:
23種設計模式cpp實現工程原始碼地址
# 針對cmake版本的要求
# cmake version 3.18.3
cmake_minimum_required(VERSION 3.5)
project(cppDesignPatterns)
add_definitions("-Wall -g")
# 開閉原則
add_executable(open_close_principle open_close_principle.cpp)
# 依賴顛倒原則
add_executable(reverse_dependencies reverse_dependencies.cpp)
# 懶漢式單例模式
add_executable(sluggard_singleton sluggard_singleton.cpp)
# 餓漢式單例模式
add_executable(hungry_singleton hungry_singleton.cpp)
#target_include_directories( PUBLIC ./../lib)
相關文章
- gcc或g++的編譯選項 -shared -fPIC 與 -g -rdynamic 部分轉載GC編譯
- 如何用cmake編譯編譯
- CMake for Mac編譯工具Mac編譯
- vc 編譯連線選項編譯
- VScode編譯opencv(Cmake + MinGW)VSCode編譯OpenCV
- cmake編譯指定自己編譯的庫路徑編譯
- Swoole v4.5.7 版本釋出,新增--enable-swoole-json編譯選項JSON編譯
- typescript 3.2 新編譯選項strictBindCallApplyTypeScript編譯APP
- -debug(C# 編譯器選項)C#編譯
- 從編譯連結到cmake編譯
- Windows下CMake編譯安裝OpenCVWindows編譯OpenCV
- C# 編譯器選項(Visual Studio配置)C#編譯
- CMake編譯Qt工程時的問題編譯QT
- CMake 進行多專案中dll的編譯和連結編譯
- [cmake]如何設定Debug和Release編譯模式編譯模式
- 在WSL下為OpenWRT交叉編譯出CMake編譯
- QListWidget項新增勾選框
- 使用vs2015+cmake編譯opencv+opencv_contrib編譯OpenCV
- Windows平臺使用CMake+MinGW64編譯OpenCVWindows編譯OpenCV
- 使用CMake命令編譯Android平臺下的包編譯Android
- gRPC cmake Visual Studio編譯安裝 (全命令列)RPC編譯命令列
- protobuf cmake Visual Studio 編譯安裝 (全命令列)編譯命令列
- 編譯Sophus時cmake出現警告deprecated-declarations編譯
- Maven根據pom檔案中的Profile標籤動態配置編譯選項Maven編譯
- Win10下Qt+OpenCV+Cmake編譯錯誤Win10QTOpenCV編譯
- <<Modern CMake>> 翻譯 2. CMake 基礎
- <<Modern CMake>> 翻譯 2.2 CMake 程式設計程式設計
- windows下基於cmake配置opencv並使用visual studio編譯WindowsOpenCV編譯
- CentOS6.7下使用cmake編譯安裝MySQL5.5.32CentOS編譯MySql
- Linux環境下, 原始碼編譯安裝詳解 (編譯CMake 3.15 和 gcc 5.3.0 為例)Linux原始碼編譯GC
- pg12中oid2name新增選項介紹
- cmake混編.c和.cpp需要注意的地方--指定兩種編譯器編譯
- [翻譯]CMAKE官方教程
- PG12中新增:VACUUM命令的SKIP_LOCKED選項
- CentOS 下重新編譯 nginx 新增模組CentOS編譯Nginx
- Js/JQuery下拉框新增新選項JSjQuery
- 使用Vue實現下拉選單框批量新增選項Vue
- win10系統中怎麼給右鍵選單選項新增圖示Win10