CMakeLists呼叫共享庫

2021-10-25 18:00:16 字數 1625 閱讀 8603

so共享庫編寫

建立乙個名為 mysharedlib 的共享庫

cmakelists.txt

cmake_minimum_required(version 3.10)

project(mysharedlib)

set(cmake_cxx_standard 11)

add_library(mysharedlib shared library.cpp library.h)

library.h

#ifndef mysharedlib_library_h

#define mysharedlib_library_h

// 列印 hello world!

void

hello()

;// 使用可變模版引數求和

template

<

typename t>

t sum

(t t)

template

<

typename t,

typename..

.types>

t sum

(t first, types .

.. rest)

#endif

library.cpp

#include

#include

"library.h"

void

hello()

so 共享庫的使用(被可執行專案呼叫)

建立乙個名為 testsharedlib 的可執行專案

cmakelists.txt

cmake_minimum_required(version 3.10)

project(testsharedlib)

# c++11 編譯

set(cmake_cxx_standard 11)

# 標頭檔案路徑

set(inc_dir /home/xx/code/clion/mysharedlib)

# 庫檔案路徑

set(lib_dir /home/xx/code/clion/mysharedlib/cmake-build-debug)

include_directories($)

link_directories($)

link_libraries(mysharedlib)

add_executable(testsharedlib main.cpp)

# 鏈結 mysharedlib 庫

target_link_libraries(testsharedlib mysharedlib)

main.cpp

#include

#include

"library.h"

using std::cout;

using std::endl;

intmain()

執行結果

hello, world!

1 + 2 = 3

1 + 2 + 3 = 6

python通過共享庫呼叫C函式

例項演示 c語言寫乙個函式,名為pycall.c include include intfoo int a,int b 使用gcc編譯成共享庫。gcc是c語言的編譯工具,可以編譯c和c g 只能比編譯c gcc o libpycall.so shared fpic pycall.c fpic 作用於...

除錯Python呼叫的C 共享庫

前言 在開發過程中我們有時需要根據不同的語言來開發不同的模組,例如tensorflow就是提供python的介面,同時在底層呼叫了c 的函式。我最近在工作中也遇上了同樣的問題,需要python來呼叫c 的.so庫,在網上找了一圈,沒有很符合我需求的結果,在此記錄下我花了一天時間搞的結果。測試環境 u...

QT學習》QT生成與呼叫共享庫

1.建立c 庫 1.1點選new project 1.2選擇庫模板 選擇 library 中的 c 庫 再點選 choose 1.3選擇共享庫 給共享庫取個名稱,並指定生成檔案存放路徑。再點選 下一步 1.4選擇編譯器 再點選 下一步 1.5選擇所需要的模組 預設選擇qtcore qtcore 模組...