11 2019 档案
摘要:现在我们就利用之前学习到的conan的使用方法,将chromium中的base库打包成一个conan包。 1. 准备源码 chromium本身是通过gn来编译的,这个目前conan并不支持。所以需要把它从chromium代码中抽离出来,这是一个复杂的工作。所幸的是,已有大神做了做方面工作: "htt
阅读全文
摘要:前面总结过如何打包一个存头文件库,那种情况下非常简单,因为只需要将源文件拷贝就行了。现在来研究下如何打包一个正常情况下会生成动态库或静态库的包。参考文档: "https://docs.conan.io/en/latest/creating_packages/getting_started.html
阅读全文
摘要:参考: "https://docs.conan.io/en/latest/howtos/header_only.html?highlight=header%20only" 对于只含头文件的库打包非常简单,以rapidjson为例。 执行创建命令: 然后修改生成的conanfile.py: 如果是手动
阅读全文
摘要:前面我们已经能够使用conan来从公共服务器上拉取C/C++包来集成进我的工程中,但是在实际开发中,我们可能需要自己封装或使用非公开的库,那么自己搭建一个私服是个很现实的需求。 搭建conan私服有几种方式,这里介绍一种目前使用比较多的Artifactory方式。 1. 安装和配置Artifacto
阅读全文
摘要:1. 安装conan 使用pip命令安装conan,如果没有安装pip的,可以先安装好python后,再安装pip。 之后就可以使用conan命令。(注意Linux下需要使用sudo提升权限) 2. 管理远程库 默认conan会添加一个远程库:conan center: 我们可以使用search选项
阅读全文
摘要:Chromium是用gn和ninja进行编译的,即gn把.gn文件转换成.ninja文件,然后ninja根据.ninja文件将源码生成目标程序。gn和ninja的关系就与cmake和make的关系差不多。 1. 环境配置 在我们自己的项目中,也可以使用gn来进行编译。 在windows上总是会遇到各
阅读全文
摘要:glog是google提供的一个轻量级日志库,有chromium开发经验的人都会发现,它和base库中的日志库非常像,其实base库中的日志库比它更加轻量级。glog在日常开发中的使用非常广泛。这里介绍下它的编译和基本使用方法。 1. 下载 通过git从github拉取最新版本代码: 2.编译 2.
阅读全文
摘要:一. 前言 基于学习ffmpeg和sdl,写一个视频播放器是个不错的练手项目。 视频播放器的原理很多人的博客都有讲过,这里出于自己总结的目的,还是会做一些概况。 二. 视频播放器基本原理 2.1 解封装 视频文件基本上都是将编码好的音频和视频数据封装在一起形成的,因此拿到视频文件的第一步就是先将它解
阅读全文