Cmake 自学笔记(linux)(六)

前言:前面的五节是对于cmake的入门内容,接下来继续学习其他内容


引入:
前面我们在学习时,都是在自己写头文件和相关的库,可当我们要使用第三方的库时,我们就需要知道他的头文件的路径以及他的名字。然后加在我们的cmakelist中,我们之前写的:

这里写图片描述

其中 ${PROJECT_SOURCE_DIR}/libhello 以及 target_link_libraries(hello libhello)中的libhello就是我们需要的参数。可是当我们不知道路径和名字怎么办呢?这时候就需要使用cmake里面的find_package来帮我们找这两个参数。


具体细节

一. 比如我们需要一个名字为CURL的库。就需要

find_package(CURL REQUIRED) 
include_directories(${CURL_INCLUDE_DIR}) 
target_link_libraries(curltest ${CURL_LIBRARY})

说明:
1.find_package(CURL REQUIRED) 中第一个参数为需要的库的名字,第二个问参数,关于参数可详见http://blog.csdn.net/bytxl/article/details/50637277

  2.执行完上面1中的那句话后,系统自动生成几个参数,只需要我们去调用即可。其中之一就是CURL_INCLUDE_DIR,也就是 库名字_INCLUDE_DIR,这就是路径。第二个参数就是CURL_LIBRARY,也就是库名字_LIBRARY,这就是他的名字。


  3.注意要使用${}.

二. 我们也可以用下面的方法:

find_package(CURL)
if(CURL_FOUND)
include_directories(${CURL_INCLUDE_DIR})
target_link_libraries(curltest ${CURL_LIBRARY})
else(CURL_FOUND)
message(FATAL_ERROR "curl not found!")
endif(CURL_FOUND)

这里面就用到了第三参数 CURL_FOUND ,也就是库名字_FOUND

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值