6

KDevelop で共有ライブラリを開発したいと考えています。しかし、ライブラリのテンプレートが表示されません。

C++ テンプレートからプロジェクトを作成し、両方のプロジェクトで CMake ファイルを編集する必要があると思います。残念ながら、私は CMake を使用したライブラリ開発の経験がありません。また、そのライブラリを使用するプロジェクトをビルド/実行するときのライブラリの自動ビルドである KDevelop との良好な統合も必要です。

4

1 に答える 1

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)

リストされた 4 つのファイルから共有ライブラリを作成します。

プログラム ( で作成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 を実行します。

于 2011-11-17T19:30:53.803 に答える