memoのcmake和pkgconfig
之前看到过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的更多相关文章
- FindPkgConfig----CMake的pkg-config模块
FindPkgConfig A pkg-config module for CMake. CMake的pkg-config模块. Finds the pkg-config executable and ...
- CMake相关代码片段
目录 用于执行CMake的.bat脚本 CMakeLists.txt和.cmake中的代码片段 判断平台:32位还是64位? 判断Visual Studio版本 判断操作系统 判断是Debug还是Re ...
- 数据库 --> sqlite3之api使用
创建 if [ ! -d /opt/dbspace ] then mkdir /opt/dbspace fi if [ -f /opt/dbspace/.memo.db ] then rm /opt/ ...
- 在Ubuntu X64上编译Hadoop
在之前的文章中介绍了如何直接在Ubuntu中安装Hadoop.但是对于64位的Ubuntu来说,官方给出的Hadoop包是32位的,运行时会得到警告: WARN util.NativeCodeLoad ...
- ubuntu16.04配置py-faster-rcnn
在ubuntu16.04下编译安装了py-faster-rcnn. 主要步骤包括:安装cuda/cudnn,换apt源,装开源显卡驱动,装caffe依赖的apt包和python包,下载py-faste ...
- 在ubuntu 12.04 x64下编译hadoop2.4
自己编译hadoop:x64 1.安装依赖包 sudo apt-get install g++ autoconf automake libtool cmake zlib1g-dev pkg-confi ...
- 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 ...
- 在Eclipse上建立hadoop2.2.0/hadoop2.4.0源代码阅读环境
1.安装依赖的包: yum install gcc-c++ g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev 2 ...
- ubuntu14.04下配置使用openCV3.0
[操 作 系 统] Ubuntu 14.04 LTS [OpenCV版本] 3.0.0-beta [Eclipse 版 本] 3.8.1 需要知识: Linux系统shell命令基础 编译原理 ...
- Ubuntu12.04-x64编译Hadoop2.2.0和安装Hadoop2.2.0集群
本文Blog地址:http://www.cnblogs.com/fesh/p/3766656.html 本文对Hadoop-2.2.0源码进行重新编译(64位操作系统下不重新编译会有版本问题) ...
随机推荐
- 关于 MySQL 的 General Log 功能
检查 General Log 输出目标 SHOW GLOBAL VARIABLES LIKE 'log_output'; # Type: Set # Default Value: FILE # Val ...
- java中的ConcurrentModificationException是什么异常?在哪些场景下会报该异常?
在软件构造实验Lab2的ConcreteVerticesGraph里,需要我们编写remove()方法.移除一个点没有别的方法,只有遍历集合vertices(),找到该点并移除. 当时我没有写上红框中 ...
- 03java基础(二)java面向对象
目录 类和对象的基本使用 基础概念 类的初始化 用new关键字创建对象 创建对象的内存分析 OOP的三大特征 类的封装 类的继承 继承的基础使用 继承基本概念 extends关键字的基本使用 supe ...
- [737] Interlude OpCodez
[737] Interlude Client 00 SendProtocolVersion 01 MoveBackwardToLocation 02 Say 03 RequestEnterWorld ...
- Python学习笔记(三)数据类型转换
一.输入输出函数 1.input() 输入函数,内置函数,用来获取用户输入数据,返回值为字符串 运行到此函数会阻塞或暂停程序 示例: 1 str_data = input('请输入数据:') 2 st ...
- axios响应拦截器无法显示响应头问题
Access-Control-Expose-Headers 响应报头.跨域 公开响应头 问题现象: 前端无法获取响应头 Response Header 原因 问题原因:跨域问题 启用跨域请求(CORS ...
- [转]如何将本地项目上传至Gitee仓库(详细教程)
码云(Gitee)简单介绍 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放 ...
- GDB调用
编译时需要加-g参数: gcc -g -o test main.c 使用GDB执行:gdb test -GDB命令
- 设置App桌面图标上显示的角标数字
设置应用图标上显示的数字 // #ifdef APP-PLUS plus.runtime.setBadgeNumber(number, options); plus.runtime.setBadgeN ...
- 实验1task5
<实验结论> #include <stdio.h> #include <stdlib.h> int main() { float a,b,c; printf(&qu ...