CMakeLists用法筆記
阿新 • • 發佈:2018-12-17
做一個學習筆記,僅僅是筆記而已。
1、設定編譯選項:
這裡可以利用CMAKE_C_FLAGS(增加C編譯選項)和CMAKE_CXX_FLAGS(增加C++編譯選項),可以設定的編譯選項有:
1) -fPIC
fPIC的全稱是 Position Independent Code, 用於生成位置無關程式碼。不加fPIC編譯的so必須要在載入到使用者程式的地址空間時重定向所有表目,它裡面不能引用其它地方的程式碼,加了fPIC實現真正意義上的多個程序共享so檔案。
2) -openmp:開啟平行計算功能。
3) 設定優化程度:
-O0表明不做優化,-O3表示設定為最高優化程度。
4) 開啟c++ 11支援:-std=c++11
2、設定編譯版本要求
cmake_minimun_required(VERSION 3.1)
3、指定專案名稱
project(mylib)
4、設定lib儲存路徑
set(CMAKE_LIBARARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/install/lib)
5、設定可執行檔案輸出路徑
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/install/bin)
6、設定包含路徑
include_directories(${PROJECT_SOURCE_DIR}/include)
7、編譯成一個庫
add_library(mylib SHARED my.cc)
8、指定依賴關係
target_link_libraries(mylib ${OpenCV_LIBS})
參考資料:
[1] https://blog.csdn.net/sinc00/article/details/44833839
~~~~~未完待續~~~~~