[英]cmake shared lib with Qt
我使用 QtCreator v6.0.1 創建了兩個默認項目:MyApp 和 MyLib for Linux(Ubuntu)。 我將文件夾結構更改為
MyApp
├──build
│ ├──Debug
| └──Release
├──src
├──libs
| └──MyLib
| ├──build
| ├──src
| ├──include
| └──CMakeLists.txt
├──include
├──src
└──CMakeLists.txt
我需要對 CMakeLists.txt 進行哪些更改才能使 MyLib 作為共享庫並在 MyApp 中使用它?
首先,如前所述,您需要在頂級 CMakeLists.txt 中使用add_subdirectory
添加MyLib
目錄:
...
add_subdirectory(libs/MyLib)
...
然后,使用 CMake 定義共享/動態庫非常簡單。 您使用add_library
提供庫的名稱、源文件和一些標志。 默認情況下,它將創建一個 static 庫,但使用關鍵字SHARED
您可以更改它:
add_library(MyLib SHARED
MySource1.cpp
MySource2.cpp
...
)
看看這里: https://cmake.org/cmake/help/latest/command/add_library.html
順便說一句,所有生成的代碼(包括庫)都將在唯一的構建目錄中結束(您可以使用cmake -B $BUILD_DIR
指定,或者是運行 cmake 的工作目錄)。 因此,您的 libs/MyLib 文件夾中不會再有一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.