C++ 链接整个文件夹
如何将整个文件夹链接到库中 我必须遵循以下结构C++ 链接整个文件夹,c++,cmake,C++,Cmake,如何将整个文件夹链接到库中 我必须遵循以下结构 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
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 ...)
无论如何,要告诉它打包整个文件夹并链接它吗?
还有一些可能在它们之间有DEP使用
file(GLOB UTIL_SOURCES utils/*.cpp)
要获取目录中的所有源文件,只需执行以下操作
add_library(UTIL, ${UTIL_SOURCES})
使用
要获取目录中的所有源文件,只需执行以下操作
add_library(UTIL, ${UTIL_SOURCES})
以下内容适合您的需要吗
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…
之类的命令来收集源文件,因为如果将文件添加到目录中,生成系统将不会重新生成。以下内容是否适合您的需要
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…
之类的命令来收集源文件,因为如果将文件添加到目录中,生成系统将不会重新生成。您做了哪些研究?您做了哪些研究?