1. 程式人生 > >CMakeLists用法筆記

CMakeLists用法筆記

做一個學習筆記,僅僅是筆記而已。

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

~~~~~未完待續~~~~~