我想在 KDevelop 中开发共享库。但我没有看到任何图书馆模板。
我想我必须从 C++ 模板创建项目并在两个项目中编辑 CMake 文件。不幸的是,我没有使用 CMake 进行库开发的经验,我也希望与 KDevelop 良好集成 - 在我构建/运行使用该库的项目时自动构建库。
最佳答案
要创建库,请使用 add_library
命令:
add_library(<name> [STATIC | SHARED | MODULE]
[EXCLUDE_FROM_ALL]
source1 source2 ... sourceN)
例如:
add_library(mylib SHARED
a.h
a.cpp
b.h
b.cpp)
将从列出的四个文件创建一个共享库。
如果您的程序(使用
add_executable
创建)使用该库,则当您使用 target_link_libraries
指定链接时,CMake 将添加依赖项,因此如果您更改了 a.cpp,库 mylib 将被重建并且您的应用程序将被重新链接。例如
add_executable(myprog
main.cpp)
target_link_libraries(myprog
mylib)
编辑:
当你的库和项目在不同的文件夹中时,你可以使用
add_subdirectory
.在每个目录下创建一个CMakeList.txt,在library文件夹中使用
add_library
在应用程序中,使用 add_program
和 target_link_libraries
.在父文件夹中使用
add_subdirectory
,先添加库文件夹,再添加程序文件夹。这将使库可供应用程序使用。然后针对父 CMakeList 运行 cmake。
关于cmake - 如何在KDevelop中开发共享库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8172538/