如何在KDevelop中开发共享库?

时间:2011-11-17 18:46:05

标签: cmake kdevelop

我想在KDevelop中开发共享库。但我没有看到任何模板库。

我想我必须从c ++模板创建项目并在两个项目中编辑CMake文件。不幸的是,我没有使用CMake进行库开发的经验,我也希望与KDevelop良好集成 - 当我构建/运行使用该库的项目时,自动构建库。

1 个答案:

答案 0 :(得分:5)

要创建库,请使用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,在库文件夹中使用应用程序中的add_library,使用add_programtarget_link_libraries

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