我是cmake的新手,我正在UNIX和Windows平台上构建我的代码。我有add_subdirectory(A)和add_subdirectory(B)。如果我只构建add_subdirectory(A),它会将头文件安装到某些xyz位置,然后当我构建add_subdirectory(B)时,它将使用以前安装的xyz位置的头文件。但是,当我试图同时构建add_subdirectory(A)和add_subdirectory(B)时,它会失败,因为它们没有安装,因此从xyz位置丢失了头文件。所以我的问题是,是否有一种方法可以让cmake构建和安装add_subdirectory(A),然后开始构建add_subdirectory(B)。
我试着上网看看,但没有运气。
我的主人CMakeLists.txt
add_subdirectory(TradeFlowCommonFrameworkLib/cpp/src)
add_subdirectory(TradeFlowCommonDataLib/cpp/src)
install(EXPORT Findfotmc DESTINATION ${INSTALL_FOTMC}/cmake)
----------------------------------------------------------------发布于 2019-06-06 08:42:08
添加子目录并不指定它们之间的依赖关系。您必须显式地将第二个可执行文件/库链接到第一个库。
在B项目的子CMakeLists (TradeFlowCommonDataLib/cpp/src)中,您必须添加如下内容:
target_link_libraries(B A)https://stackoverflow.com/questions/56462723
复制相似问题