编译/集成/构建/交付
文章平均质量分 70
记录编译、集成、构建相关技术
荆楚闲人
老骥伏枥,志在千里;烈士中年,壮心不已。
展开
-
scons入门(二)
判断是否需要重新编译SCons很智能,只会编译需要编译的内容。比如我刚执行完scons,再次执行,则会提示scons: . is up to date.。 那么他是如何做到的呢?也不复杂,依赖一个Decider的方法,以及一个.sconsign.dblite文件。默认情况下,如果文件的md5值改变了,才会重新编译。每次编译,SCons都会把md5存起来,再次执行时,如果md5没变,则不需要rebuild。如果我们不希望使用md5,而是使用文件修改时间呢?很简单,增加Decider('timest转载 2022-02-03 09:51:41 · 709 阅读 · 0 评论 -
SCons简单入门(一)
你曾经为繁琐的makefile语法纠结过吗?你有想要摆脱VS的束缚,自己构建工程却又苦于无从下手吗?你有为同一个工程要在不同操作系统或不同平台下构建编译环境而苦恼过吗? 本文有我的选择,你的答案。最近小试了一把用scons来构建编译环境,感觉很不错,跟大家分享一下。先说明下什么是scons,scons是一个Python写的自动化构建工具,就比如老牌的cmake,或者如果经常跟google一些开源项目打交道的话,那肯定知道新近开始流行的gyp(google内部用的构建工具),scons实现跟它们有转载 2022-02-02 18:22:43 · 6504 阅读 · 2 评论 -
Scons安装和使用
Scons是什么?参考这篇文章:https://www.cnblogs.com/jiu0821/p/5642678.htmlScons简单入门:https://www.jianshu.com/p/e4bd3ab9e5d6Scons使用:https://www.jianshu.com/p/c28609d9e559官网下载:https://www.scons.org/解压到某目录下: 原文链接:https://blog.csdn.net/aganliang/article/details转载 2022-02-02 17:41:07 · 2148 阅读 · 1 评论 -
CMake语法中的PUBLIC、PRIVATE、INTERFACE关键字含义
生成 libhello-world.so 时,只在libhello-world.so 对外的头文件——hello_world.h 中包含 了 hello.h, hello_world.c 中不包含 hello.h,即 libhello-world.so 不使用 libhello.so 提供的功能,只使用 hello.h 中的某些信息,比如结构体。生成 libhello-world.so 时,在 hello_world.c 和 hello_world.h 中都包含了 hello.h。原创 2023-08-12 15:29:05 · 370 阅读 · 0 评论 -
CPack 入门指南
因为是 CMake 的内置工具,所以使用的方式也是通过在 CMakeLists.txt 配置参数,就能达到我们的需求。使用起来很方便,容易上手。上述配置是将所有需要打包的文件打包成一个安装包,但一个项目往往会有多个不同服务,在实施部署时需安装到不同的机子上,这个时候如果把所有服务一起打包,会导致部署时包太大。然后修改 src/CMakeLists.txt,看下图红框内容,将 program A 二进制文件配置为 AComponent,将 program B 二进制文件配置为 BComponent。转载 2023-07-18 14:08:48 · 1159 阅读 · 0 评论