cmake - 如何在KDevelop中开发共享库?

标签 cmake kdevelop

我想在 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_programtarget_link_libraries .

在父文件夹中使用 add_subdirectory ,先添加库文件夹,再添加程序文件夹。这将使库可供应用程序使用。然后针对父 CMakeList 运行 cmake。

关于cmake - 如何在KDevelop中开发共享库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8172538/

相关文章:

c++ - KDevelop 说找不到包含的文件::iostream

c++ - 如何使用 CMake 正确设置动态库路径?

ubuntu - CMake find_library 找不到 TensorFlow 库

debugging - 在 Qt 调试器中显示数组的内容

c++ - KDevelop4:在CMake之前设置环境变量

c++ - kdevelop 单元测试与 gtest

c++ - 使用 Visual Studio 定义而不是 GCC 的 Eclipse+MinGW 的 CMake 项目

visual-studio - 配置 CMake 以在 Windows 上设置 CUDA

c++ - 使用 Cmake 编译 boost 测试