0
点赞
收藏
分享

微信扫一扫

1228_使用SCons创建库文件以及使用制定库


全部学习汇总: ​​GitHub - GreyZhang/g_SCons: A new member in my toolbox, looking forward to replacing make tool later.​​

1228_使用SCons创建库文件以及使用制定库_目标文件

嵌入式的工程构建行为跟unix或者Linux更加相近,因此我自己的测试以及演示全都采用linux的平台和工具。

1228_使用SCons创建库文件以及使用制定库_库文件_02

这是完全照搬了上面的例程,在每一个文件中我都加了一个打印提示函数。从上面的结果看,生成的库文件名称是在库的前面加了一个lib,后面加了一个.a。这是库文件命名的一个基础规则。

1228_使用SCons创建库文件以及使用制定库_目标文件_03

如果是用目标文件来创建库文件也是可以的,上面就是一个例子。为此,我把上面的例子进行一下修改。

1228_使用SCons创建库文件以及使用制定库_库文件_04

这样,我把前面的例子改成了一个利用目标文件打库的例程。

1228_使用SCons创建库文件以及使用制定库_SCons_05

这是执行的最后结果,运行同样成功。

1228_使用SCons创建库文件以及使用制定库_linux_06

接下来,试一下静态库的创建。builder method有一点小小的改动。

1228_使用SCons创建库文件以及使用制定库_库文件_07

这是测试的效果,看起来跟前面的例子一样。可能,创建库文件的默认行为就是静态的吧。最后的一句话也算是给出了这样的结论,两个builder method其实是没有差异的。

1228_使用SCons创建库文件以及使用制定库_目标文件_08

1228_使用SCons创建库文件以及使用制定库_目标文件_09

接下来试一下动态的库文件,也就是共享库文件的创建。

以上是运行效果,可以看得出来,差异点不仅仅在于库文件本身,目标文件其实也发生了变化。

1228_使用SCons创建库文件以及使用制定库_目标文件_10

1228_使用SCons创建库文件以及使用制定库_库文件_11

看了上面的信息,结合我自己的理解构建一个例子。

1228_使用SCons创建库文件以及使用制定库_目标文件_12

这是运行的效果,可以看得出来从编译到库文件的创建,再到库文件的链接使用都是没问题的。最终的程序运行正常。

1228_使用SCons创建库文件以及使用制定库_库文件_13

关于之后的这个目录的配置,其实还是很简单的。在前面的例子中,其实指定当前目录也是其中的一种方式。关于这个配置文件的模板,我觉得其实可以往信息全的方向写,全都用列表形式管理可能会是最通用的模板。


举报

相关推荐

0 条评论