cmake linux模板 多目录_linux – 强制CMake使用完整的库路径

我有以下问题.我的

Linux机器上有一个单独的{bin,lib,include}树,其中安装了CMake和我开发工作所需的所有库.但只有PATH环境变量设置为此bin目录,并且由于某些原因我无法设置LD_LIBRARY_PATH.此树中的所有程序都是使用RPATH构建的.我正在使用的CMake 3.3.1也在这棵树里面.

现在问题我想使用libcurl编译程序并设置以下CMakeLists.txt

PROJECT(EXAMPLE)

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

SET(CMAKE_SKIP_BUILD_RPATH FALSE)

FIND_PACKAGE(CURL REQUIRED)

FIND_PACKAGE(OpenSSL REQUIRED)

INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR})

SET(LIBS ${CURL_LIBRARIES} ${OPENSSL_LIBRARIES})

ADD_EXECUTABLE(curl_ex src/curl_ex.c)

TARGET_LINK_LIBRARIES(curl_ex ${LIBS})

当我现在运行CMake时,由于它与CMake位于相同的前缀内,因此找到了我的个人软件树中的curl和OpenSSL设置.

但是当我使用make VERBOSE = 1构建项目时,我看到以下链接命令:

gcc CMakeFiles/curl_ex.dir/src/curl_ex.c.o -o curl_ex -rdynamic -lcurl -lssl -lcrypto

构建可执行文件是指系统范围内安装的curl和openssl库,而不是配置期间找到的一个cmake.

如何强制CMake使用它在执行链接时找到的库?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值