Macos 在构建主项目之前,是否有方法构建外部CMake项目?
我在macOS上有两个CMake项目——主项目和一个外部库。这两个项目都是在我的机器上克隆的。我想将外部库作为依赖项添加到主项目中。我还想让主项目构建外部库。这对CMake有可能吗 另外,我找到的所有示例都是先下载外部库 编辑:Macos 在构建主项目之前,是否有方法构建外部CMake项目?,macos,cmake,build,Macos,Cmake,Build,我在macOS上有两个CMake项目——主项目和一个外部库。这两个项目都是在我的机器上克隆的。我想将外部库作为依赖项添加到主项目中。我还想让主项目构建外部库。这对CMake有可能吗 另外,我找到的所有示例都是先下载外部库 编辑: ExternalProject_Add(<lib_name> SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/<rel_path_to_src>
ExternalProject_Add(<lib_name>
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/<rel_path_to_src>
BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/<rel_path_to_build_dir>
BUILD_ALWAYS ON)
ExternalProject\u添加(
SOURCE\u DIR${CMAKE\u CURRENT\u SOURCE\u DIR}/
二进制目录${CMAKE\u CURRENT\u SOURCE\u DIR}/
构建(始终打开)
这是我添加的外部项目。但我不知道如何正确链接该库,以便它可以在主项目之前构建
我尝试链接如下:
find_library( LIB <lib_name> HINTS ${CMAKE_CURRENT_SOURCE_DIR}/<rel_path_to_lib_dir>)
target_link_libraries( ${PROJECT_NAME} PRIVATE ${LIB} )
find_库(LIB提示${CMAKE_CURRENT_SOURCE_DIR}/)
目标链接库(${PROJECT\u NAME}PRIVATE${LIB})
我收到以下错误:
ninja: error: '<path_to_lib>/lib.a', needed by '<executable>', missing and no known rule to make it
ninja:错误:'/lib.a',由''所需,缺少并且没有已知的规则来创建它
命令允许您在构建外部项目的同时构建外部项目。例如,见问题:@Tsyvarev谢谢你的回答。但是我仍然看不出它如何处理已经下载的项目。哦,你的问题实际上是“如何对已经下载的项目使用ExternalProject
?”。只需传递SOURCE\u DIR
参数,该参数指向您下载的库,并且不指定像URL
这样的下载步骤。如果您能为我提供一个示例代码,那将非常令人惊讶。因为某些原因,我无法配置它。我可能做错了什么。你可以在发帖时添加代码(也可以添加由它引起的错误消息)。所以我们可以帮你解决问题。