4

次のようなライブラリがかなりあります。

libs

     \lib1-- src
          \- include

      \lib2--src
           \- include

lib2 には lib1 が必要です。これを行うことで得た方法は、次のようなことです。

lib2/CMakeLists.txt: 
    include ../lib1/include
    target_link_libraries(lib2 lib1)

lib2 ライブラリに lib1 ヘッダー/インクルード ファイルを含めるにはどうすればよいですか? 私は現在これを行おうとしていますが、コンパイル中に lib2 が lib1 ヘッダー ファイルを見つけられないというエラーが発生します。

libs/CMakeLists.txt:

file(GLOB lib1_src
    "lib1/src/*.cc"
 )

#header files
file (GLOB lib1_h
    "lib1/include/*.h"
 )


file(GLOB lib2_src
    "lib2/src/*.cc"
 )

#header files
file (GLOB lib2_h
    "lib2/include/*.h"
 )

add_library(lib1 ${lib1_src} ${lib1_h})
add_library(lib2 ${lib2_src} ${lib2_h})
target_link_libraries(lib2 lib1)

に追加することで機能させることができますがinclude_directories(lib1/include)libs/CMakeLists.txt1 つのライブラリに他の 3 つのライブラリが必要になり、それぞれに他の 3 つのライブラリが必要になるなど、かなり面倒です。

4

1 に答える 1