CMake:如何将库链接到外部项目
我是CMake的新手,我想使用CMake构建一个项目(项目a),其中我必须包括一个外部自动工具项目(项目b),而我必须将其与GSL库链接。这是我的CMakeLists.txt的一部分:CMake:如何将库链接到外部项目,cmake,gsl,Cmake,Gsl,我是CMake的新手,我想使用CMake构建一个项目(项目a),其中我必须包括一个外部自动工具项目(项目b),而我必须将其与GSL库链接。这是我的CMakeLists.txt的一部分: cmake_minimum_required(VERSION 2.6 FATAL_ERROR) project(project_a) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-shadow") ExternalProject_Add(project_b SOURC
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project(project_a)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-shadow")
ExternalProject_Add(project_b
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/project_b
CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/project_b/configure --prefix=<INSTALL_DIR>
BUILD_COMMAND ${MAKE})
find_package(GSL REQUIRED)
include_directories(${GSL_INCLUDE_DIRS})
set(PROJECT_B_LIB_DIR "${PROJECT_SOURCE_DIR}/build/project_b-prefix/lib")
set(prefix "lib")
set(suffix ".a")
set(PROJECT_B_LIBRARIES "${PROJECT_B_LIB_DIR}/${prefix}project_b${suffix}")
target_link_libraries(project_a ${GSL_LIBRARIES})
target_link_libraries(project_a ${PROJECT_B_LIBRARIES})
cmake_最低要求(2.6版致命错误)
项目(项目a)
设置(CMAKE_CXX_标志“${CMAKE_CXX_标志}-Wno阴影”)
外部项目添加(项目b
SOURCE\u DIR${CMAKE\u CURRENT\u SOURCE\u DIR}/project\u b
CONFIGURE_命令${CMAKE_CURRENT_SOURCE_DIR}/project_b/CONFIGURE--前缀=
生成命令${MAKE})
查找包(需要GSL)
include_目录(${GSL_include_DIRS})
set(PROJECT_B_LIB_DIR“${PROJECT_SOURCE_DIR}/build/PROJECT_B-prefix/LIB”)
set(前缀为“lib”)
set(后缀“.a”)
集合(PROJECT_B_库“${PROJECT_B_LIB_DIR}/${prefix}PROJECT_B${suffix}”)
目标链接库(项目a${GSL\U库})
目标链接库(project_a${project_B_libraries})
问题是GSL库在project_a中工作,但在project_b中,我得到了对我尝试使用的任何GSL函数的“未定义引用” 我认为
project_b
应该单独检测库和它的头。你不能像中那样使用add_库吗?