0

フォルダ全体をライブラリにリンクするにはどうすればよいですか?

私は構造に従う必要があります

src/main.cpp
src/alg/alg1.cpp
src/alg/alg1.hpp
src/alg/alg2.cpp
src/alg/ ...
src/utils/something.cpp
src/utils/...

私はちょうど使用することができます

add_library(ALG1 alg/alg1.cpp)
add_library(ALG2 .... )
......
add_library(UTIL1 utils/something.cpp)

add_executable(PROG main.cpp)

target_link_libraries(PROG ALG1 ALG2 ... UTIL1 UTIL2 ...)

とにかく、フォルダ全体をパックしてリンクするように指示しますか? また、それらの間に深みがある場合もあります

4

2 に答える 2

2

次はあなたのニーズに合いますか?

add_library(ALG alg/alg1.cpp alg/alg1.hpp alg/alg2.cpp #... list all files)

add_library(UTIL utils/something.cpp #... list all files)

add_executable(PROG main.cpp)

target_link_libraries(PROG ALG UTIL)

ソースファイルを収集するようなコマンドを使用することはお勧めしませfile(GLOB ...)ん。ディレクトリにファイルを追加すると、ビルドシステムが再生成されないためです。

于 2012-11-26T11:03:08.067 に答える
1

使用する

file(GLOB UTIL_SOURCES utils/*.cpp)

ディレクトリ内のすべてのソースファイルを取得するには、次のようにします

add_library(UTIL, ${UTIL_SOURCES})
于 2012-11-25T20:44:00.843 に答える