cmake 是乙個跨平台的自動化建構系統,它使用乙個名為cmakelists.txt的檔案來描述構建過程,可以產生標準的構建檔案,如 unix 的 makefile 或windows visual c++ 的 projects/workspaces 。檔案 cmakelists.txt 需要手工編寫,也可以通過編寫指令碼進行半自動的生成。cmake 提供了比 autoconfig 更簡潔的語法。在 linux 平台下使用 cmake 生成 makefile 並編譯的流程如下:
編寫 cmakelists.txt。
執行命令「cmake path」或者「ccmake path」生成 makefile ( path 是 cmakelists.txt 所在的目錄 )。
使用 make 命令進行編譯。
第乙個工程
現假設我們的專案中只有乙個原始檔 main.cpp
原始檔 main.cpp
#include
為了構建該專案,我們需要編寫檔案 cmakelists.txt 並將其與 main.cpp 放在 同乙個目錄下:
cmakelists.txt
project(main)
cmake_minimum_required(version 2.6)
aux_source_directory(. dir_srcs)
add_executable(main $)
cmakelists.txt 的語法比較簡單,由命令、注釋和空格組成,其中命令是不區分大小寫的,符號"#"後面的內容被認為是注釋。命令由命令名稱、小括號和引數組成,引數之間使用空格進行間隔。例如對於清單2的 cmakelists.txt 檔案:第一行是一條命令,名稱是 project ,引數是 main ,該命令表示專案的名稱是 main 。第二行的命令限定了 cmake 的版本。第三行使用命令 aux_source_directory 將當前目錄中的原始檔名稱賦值給變數 dir_srcs 。 cmake 手冊中對命令 aux_source_directory 的描述如下:
aux_source_directory()
該命令會把引數 中所有的原始檔名稱賦值給引數 。 第四行使用命令 add_executable 指示變數 dir_srcs 中的原始檔需要編譯 成乙個名稱為 main 的可執行檔案。
完成了檔案 cmakelists.txt 的編寫後需要使用 cmake 或 ccmake 命令生成makefile 。 ccmake 與命令 cmake 的不同之處在於 ccmake 提供了乙個圖形化的操作介面。cmake 命令的執行方式如下:
cmake [options]
這裡我們進入了 main.cpp 所在的目錄後執行 「cmake .」 後就可以得到 makefile 並使用 make 進行編譯,如下圖所示。
在 linux 下使用 cmake 構建應用程式www.ibm.com
Python 將py檔案編譯成so檔案
1.安裝cython,以及gcc編譯環境 root localhost pip install cython 2.編寫測試指令碼 test.py def test print hello python def add a,b print a b return a b 1.編寫setup.py檔案,與...
使用cython將py檔案編譯成so檔案
一 環境準備 安裝cython,以及gcc編譯環境 wget python get pip.py pip install cython yum install y gcc python devel 二 編寫測試指令碼 test.py,內容如下 import os def test print os....
linux下將c 編譯成so,呼叫該so檔案
在其他資料上增加了過程中遇到的問題。so檔案為動態鏈結庫檔案,與windows下的dll檔案相當,linux下系統so檔案一般儲存在 usr lib中。下面就說明一下如何生成c 程式的so檔案,以及如何在c 程式中呼叫該so檔案 test.h ifdef cplusplus extern c int...