cmake靜態編譯庫
㈠ 怎麼用CMake編譯freeglut
1、解開freeglut-3.0.0的壓縮包,用記事本打開目錄樹下的「README.cmake」文件,下載Binary distributions。
2、下載好,解開其壓縮包後,找到可執行文件,cmake-3.2.2-win32-x86/bin/cmake-gui.exe,運行之,
3、在兩個where後邊填上目錄樹的路徑(注意不是src的路徑,本文以R:/freeglut-3.0.0為例),點擊configure按鈕,彈出如下的對話框,從中選擇所需的開發環境:
4、這里支持的環境好多,選擇需要的環境,然後點擊Finish,它會開始檢查這個環境,然後給出一些配置選項:
5、從中修改靜態庫目標的安裝位置(本例安裝在R:/freeglut_static),勾掉不需要的選項(比如Demo、動態連接庫等),點擊Generate,即可生成工程。
6、打開工程後,找到工程設置,在此可以按照自己的需要修改一些配置,實際上絕大多數都不必動,有可能需要修改的也就是這么個地方:
7、這個按照自己的需要選擇單線程運行庫或是多線程運行庫,或是多線程的DLL版運行庫,主要是為了防止和別的庫或者別的工程的設置沖突。
然後批量編譯:
8、勾掉不必要的選項,比如MinSizeRel是在Release版本的基礎上,改成最小尺寸優化的版本;RelWithDebInfo是在Release版本的基礎上,添加調試信息的版本。這倆版本的可以不要。然後,點擊Rebuild All,編譯完就可以在安裝目錄下找到最終文件了。
㈡ cmake編譯單/多文件
在該路徑下會生成一個文件夾(CMakeFiles),三個文件(Makefile, CMakeCache.txt, cmake_install.cmake)以及一個程序(addition)
此時的文件目錄結構為
該項目該依賴於MPI,GDAL和cereal庫。MPI和GDAL庫自行編譯
1.配置各種編譯的時候,可以使用set設置,更多詳情,請自行搜索。
2.頭文件的包含請使用include_directories。
3.搜索源文件請使用aux_source_directory。
4.第三方庫的查找使用 find_package。例如我們想找GDAL, 那麼 find_package(GDAL), 它會在 /usr/share/cmake/Moles 文件中的FindGDAL.cmake文件中去找GDAL的各種信息。前提是GDAL 是make install的, FindGDAL.cmake中才會有GDAL的各種信息。否則的話,我們需要set自行制定GDAL的相關信息。
5.第三方庫的鏈接用target_link_libraries。
注意,也可以將該項目中的某個文件夾編譯成靜態庫,然後在於其餘源文件鏈接,可以參考: https://blog.csdn.net/cliukai/article/details/90670243
簡單的多文件編譯: https://blog.csdn.net/cliukai/article/details/90670243
有第三方庫的文件編譯: https://blog.csdn.net/fb_help/article/details/79593037