
build
文章平均质量分 74
HUI的技术笔记
这个作者很懒,什么都没留下…
展开
-
gcc实例-几个编译选项
从我们的平台的编译参数上,存在这么几个选项,其中mthumb对代码的size影响较大,下面做一一分析。该优化选项会牺牲部分编译速度,除了执行-O1所执行的所有优化之外,还会采用几乎所有的目标配置支持的优化算法,用以提高目标代码的运行速度。-O, -O1:这两个命令的效果是一样的,目的都是在不影响编译速度的前提下,尽量采用一些优化算法降低代码大小和可执行代码的运行速度。-O3该选项除了执行-O2所有的优化选项之外,一般都是采取很多向量化算法,提高代码的并行执行程度,利用现代CPU中的流水线,Cache等。原创 2022-12-17 20:34:15 · 1156 阅读 · 0 评论 -
构建工具的汇总
GNU Build SystemmesoncmakeNinjabazelgradlemavensConsGYPGYP是Generate Your Projects的缩写,GYP的目的是为了支持更大的项目编译在不同的平台,比如Mac,Windows,Linux,它可以生成Xcode工程,Visual Studio工程,Ninja编译文件和Makefiles。chromium的编译过程中用到了GYP,GN和Ninja这三个构建工具,GYP是一个在不同平台构建项目的工具,GN是GYP的升级版,Ninja是一个小型原创 2022-06-15 14:33:26 · 1204 阅读 · 0 评论 -
meson中自定义变量的使用
option定义参考如下,type有好多种类型,bool类型的可以在meson configure的时候传递false或true:不定义也是可以的,在dependency里面required配置为false:可选的依赖。原创 2022-06-13 19:24:26 · 3451 阅读 · 0 评论 -
ubuntu使用docker
docker是一个用Go语言实现的开源项目,可以让我们方便的创建和使用容器,docker将程序以及程序所有的依赖都打包到docker container,这样你的程序可以在任何环境都会有一致的表现。原创 2022-03-10 15:50:31 · 4505 阅读 · 0 评论 -
编译参数-Wl和rpath的理解
-Wl参数的理解gcc的-Wl,xxx选项将逗号分隔的标记列表作为空格分隔的参数列表传递给链接器,即:gcc -Wl,aaa,bbb,ccc最终变成了linker的用法:ld aaa bbb ccc如果是想把ld -rpath通过-Wl传递给gcc,可以是-Wl,-rpath,xxx,也可以指定-Wl的重复实例:gcc -Wl,aaa -Wl,bbb -Wl,ccc类似的参数 -Wa,<options> Pass comma-separated <options原创 2022-03-02 19:38:45 · 7229 阅读 · 0 评论 -
编译碰到的问题整理
交叉编译configure后不能生成静态库configure完了之后显示:checking if libtool supports shared libraries... nochecking whether to build shared libraries... noLibtool claims it does not support shared libraries during cross compilation因为configure中指定的–host=arm,libtool会将--原创 2022-02-24 19:22:43 · 828 阅读 · 0 评论 -
qtcreator调试gstreamer
安装qtcreatorCerbero编译gstreamer参考 Building from source using Cerbero,gstreamer通过Cerbero编译非常简单,可以在Readme.md中看到。下载cerbero$ git clone https://gitlab.freedesktop.org/gstreamer/cerbero gstreamer-cerbero下载后的代码路径为:/home/hui/gstreamer/gstreamer-cerbero配置编译e原创 2021-11-26 20:49:33 · 2618 阅读 · 0 评论 -
GN快速入门指南
文章目录运行GN设置一个构建配置构建参数交叉编译至目标操作系统或架构添加BUILD.gn的详细步骤添加一个构建文件测试你的添加声明依赖性测试二进制文件将设置放在`config`中默认配置添加一个新的构建参数不知道发生了什么?"desc "命令运行GN运行gn,你只需从命令行运行gn,对于大型项目,GN是与源码一起的。对于Chromium和基于Chromium的项目,有一个在depot_tools中的脚本,它需要加入到你的PATH环境变量中。该脚本将在包含当前目录的源码树中找到二进制文件并运行它。对原创 2021-10-22 16:43:53 · 2692 阅读 · 0 评论