之前看到过pkgconfig,完全不理解什么东西,也没有去探究这到底是个啥。

然而今天想要cmake brew的库,无意中查到一种解决方案,就是利用pkg-config。

老神奇了。

# include(FindPkgConfig) # 也有这么写的,我没测试
find_package(PkgConfig REQUIRED) # 关键的一步来啦。假设我要找的是glfw3 glew
pkg_check_modules(PKG_DEP REQUIRED IMPORTED_TARGET glew glfw3) # 好,这里先停一下,直接cmake来config一下,生成CMakeCache.txt,然后我们直接去看这个文件的内容;
# 我们直接搜索PKG_DEP(这个名字当然是随意的啦,自己看着命名吧)
# 不出意外,可以看到很多对应的变量,愉快的用这些宏吧! message(${PKG_DEP_INCLUDE_DIRS})
message(${PKG_DEP_LIBRARY_DIRS})
message(${pkgcfg_lib_PKG_DEP_GLEW})
message(${pkgcfg_lib_PKG_DEP_glfw}) # 自己根据需要去target_include_directories、target_link_libraries吧

具体pkg_check_modules的用法,可以用命令cmake --help-module FindPkgConfig查看吧!

顺便说一下

pkg-config也是挺好用的。pkg-config --libs --cflags glfw3可以看到命令行上需要的libs信息和includes信息等。具体也可以去直接看help。

以上。

memoのcmake和pkgconfig的更多相关文章

  1. FindPkgConfig----CMake的pkg-config模块

    FindPkgConfig A pkg-config module for CMake. CMake的pkg-config模块. Finds the pkg-config executable and ...

  2. CMake相关代码片段

    目录 用于执行CMake的.bat脚本 CMakeLists.txt和.cmake中的代码片段 判断平台:32位还是64位? 判断Visual Studio版本 判断操作系统 判断是Debug还是Re ...

  3. 数据库 --> sqlite3之api使用

    创建 if [ ! -d /opt/dbspace ] then mkdir /opt/dbspace fi if [ -f /opt/dbspace/.memo.db ] then rm /opt/ ...

  4. 在Ubuntu X64上编译Hadoop

    在之前的文章中介绍了如何直接在Ubuntu中安装Hadoop.但是对于64位的Ubuntu来说,官方给出的Hadoop包是32位的,运行时会得到警告: WARN util.NativeCodeLoad ...

  5. ubuntu16.04配置py-faster-rcnn

    在ubuntu16.04下编译安装了py-faster-rcnn. 主要步骤包括:安装cuda/cudnn,换apt源,装开源显卡驱动,装caffe依赖的apt包和python包,下载py-faste ...

  6. 在ubuntu 12.04 x64下编译hadoop2.4

    自己编译hadoop:x64 1.安装依赖包 sudo apt-get install g++ autoconf automake libtool cmake zlib1g-dev pkg-confi ...

  7. caffe + ubuntu16.04 (version without GPU)

    This Guide is based on caffe github wiki guide (https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-1 ...

  8. 在Eclipse上建立hadoop2.2.0/hadoop2.4.0源代码阅读环境

    1.安装依赖的包: yum install gcc-c++ g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev 2 ...

  9. ubuntu14.04下配置使用openCV3.0

    [操  作  系  统] Ubuntu 14.04 LTS [OpenCV版本]  3.0.0-beta [Eclipse 版 本] 3.8.1 需要知识: Linux系统shell命令基础 编译原理 ...

  10. Ubuntu12.04-x64编译Hadoop2.2.0和安装Hadoop2.2.0集群

      本文Blog地址:http://www.cnblogs.com/fesh/p/3766656.html   本文对Hadoop-2.2.0源码进行重新编译(64位操作系统下不重新编译会有版本问题) ...

随机推荐

  1. 课程表及事件提醒app-界面原型设计

    前端设计: 暂定为8个主要界面:程序初始界面.主界面(首页).课表界面."我的"界面.登录界面.注册界面.创建事件界面.新建课表界面 设计思路: 项目结构 三个主要界面 首页: 课 ...

  2. 加密算法和hash

    随着安全问题越来越被重视,公司也全面替换了HTTP为HTTPS.2015年iOS9的ATS到今年苹果更是放出话来,2017年全面支持HTTPS,不支持的App,在审核的时候可能会遇到麻烦.鉴于此,我有 ...

  3. git远程分支回退到某个版本

    1.找到要回退的版本号(右击项目--> Git --> Show History -->选中要回退的版本-->Copy Revision Number): 2.打开idea的T ...

  4. uni-app配置钉钉小程序步骤

    1.创建项目 2.在项目根目录配置或者新建package.json文件,配置代码 { "uni-app": { "scripts": { "mp-di ...

  5. htmlApk:一个轻松在线打包生成双端app应用的网站

    htmlApk平台,基于HTML打包制作APP,只要有手机网站或者HTML文件,3分钟即可生成app多端应用,同时拥有苹果版和安卓版双系统APP,快速进入移动互联时代. 全面支持h5网址打包,可设置图 ...

  6. andriod升级保错问题归类

    https://developer.aliyun.com/article/1116339 https://www.jianshu.com/p/5d9c790ab958 https://blog.51c ...

  7. 视频直播系统源码,java 随机验证码 、10 分钟有效

    视频直播系统源码,java 随机验证码 .10 分钟有效 1.首先创建一个vo类存放我们验证码相关信息. import lombok.AllArgsConstructor;import lombok. ...

  8. Net Core 3.1 ONVIF 操控海康摄像头

    先给出实现的代码 https://github.com/lu1770/onvif-client.git 也可以通过安装包来使用功能 dotnet add package Onvif 基本用法 Agen ...

  9. 删除 gnome自带的Videos软件

    gnome3自带的Videos粗看感觉听简洁挺流畅的,可是细看不仅电影中文名乱码显示还搞得字幕慢半拍,这一点完全不能忍,太难受了. 还是Vlc牛.而且Videos在应用商店不能卸载,命令行搜索已安装软 ...

  10. SpringMVC文件上传详解

    声明 源码基于Spring Boot 2.3.12.RELEASE.Spring Framework 5.2.15.RELEASE Servlet3.0 文件上传 Servlet 3.0对于HttpS ...