cmake編譯成 so檔案 CMake(持續更新)

2021-10-11 08:48:25 字數 1590 閱讀 5196

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...