我想在KDevelop中开发共享库.但我没有看到任何模板库.
我想我必须从c ++模板创建项目并在两个项目中编辑CMake文件.不幸的是,我没有使用CMake进行库开发的经验,我也希望与KDevelop良好集成 - 当我构建/运行使用该库的项目时,自动构建库.
要创建库,请使用以下add_library命令:
add_library(<name> [STATIC | SHARED | MODULE]
[EXCLUDE_FROM_ALL]
source1 source2 ... sourceN)
Run Code Online (Sandbox Code Playgroud)
例如:
add_library(mylib SHARED
a.h
a.cpp
b.h
b.cpp)
Run Code Online (Sandbox Code Playgroud)
将从列出的四个文件创建一个共享库.
如果你的程序(用add_executable它创建)使用库,当你指定链接时target_link_libraries,CMake将添加依赖项,这样如果你改变了a.cpp,库mylib将被重建,你的应用程序将被重新链接.
例如
add_executable(myprog
main.cpp)
target_link_libraries(myprog
mylib)
Run Code Online (Sandbox Code Playgroud)
编辑:
当您的库和项目位于不同的文件夹中时,您可以使用add_subdirectory.
在每个目录中创建一个CMakeList.txt,在add_library应用程序中使用的库文件夹中,使用add_program和target_link_libraries.
在父文件夹使用中add_subdirectory,首先添加库文件夹,然后添加程序文件夹.这将使库可供应用程序使用.然后对父CMakeList运行cmake.
| 归档时间: |
|
| 查看次数: |
2431 次 |
| 最近记录: |