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)
相關文章
- PHP編譯選項PHP編譯
- GCC編譯選項GC編譯
- GCC 編譯選項GC編譯
- 如何用cmake編譯編譯
- CMake for Mac編譯工具Mac編譯
- vc 編譯連線選項編譯
- 核心編譯選單中相關選項的意義(轉)編譯
- cmake編譯指定自己編譯的庫路徑編譯
- Mysql安裝過程中CMAKE編譯出錯MySql編譯
- CMake入門指南-編譯教程編譯
- cmake編譯問題解決編譯
- 從編譯連結到cmake編譯
- gcc或g++的編譯選項 -shared -fPIC 與 -g -rdynamic 部分轉載GC編譯
- GCC的-g選項應該在編譯階段起作用(轉)GC編譯
- Swoole v4.5.7 版本釋出,新增--enable-swoole-json編譯選項JSON編譯
- Windows下CMake編譯安裝OpenCVWindows編譯OpenCV
- -debug(C# 編譯器選項)C#編譯
- typescript 3.2 新編譯選項strictBindCallApplyTypeScript編譯APP
- FFmpeg音視訊編譯配置選項編譯
- VScode編譯opencv(Cmake + MinGW)VSCode編譯OpenCV
- CMake編譯Qt工程時的問題編譯QT
- CMake 進行多專案中dll的編譯和連結編譯
- 在WSL下為OpenWRT交叉編譯出CMake編譯
- (譯) 在可執行檔案中新增選單項 - by Fenri
- [cmake]如何設定Debug和Release編譯模式編譯模式
- cmake使用教程(九)-關於安卓的交叉編譯安卓編譯
- CMake生成OpenCV解決方案&&編譯OpenCV原始碼OpenCV編譯原始碼
- MySQL 5.5編譯安裝cmake引數說明MySql編譯
- 編譯Sophus時cmake出現警告deprecated-declarations編譯
- C# 編譯器選項(Visual Studio配置)C#編譯
- ListView新增事件並獲取選中項的值View事件
- Maven根據pom檔案中的Profile標籤動態配置編譯選項Maven編譯
- Win10下Qt+OpenCV+Cmake編譯錯誤Win10QTOpenCV編譯
- 使用CMake命令編譯Android平臺下的包編譯Android
- centos7 qt之程式編譯 cant start process “cmake”CentOSQT編譯
- Windows平臺使用CMake+MinGW64編譯OpenCVWindows編譯OpenCV
- MySQL編譯選項-fno-strict-aliasing隨手記MySql編譯
- <<Modern CMake>> 翻譯 2. CMake 基礎