全部学习汇总: GitHub - GreyZhang/g_SCons: A new member in my toolbox, looking forward to replacing make tool later.
嵌入式的工程构建行为跟unix或者Linux更加相近,因此我自己的测试以及演示全都采用linux的平台和工具。
这是完全照搬了上面的例程,在每一个文件中我都加了一个打印提示函数。从上面的结果看,生成的库文件名称是在库的前面加了一个lib,后面加了一个.a。这是库文件命名的一个基础规则。
如果是用目标文件来创建库文件也是可以的,上面就是一个例子。为此,我把上面的例子进行一下修改。
这样,我把前面的例子改成了一个利用目标文件打库的例程。
这是执行的最后结果,运行同样成功。
接下来,试一下静态库的创建。builder method有一点小小的改动。
这是测试的效果,看起来跟前面的例子一样。可能,创建库文件的默认行为就是静态的吧。最后的一句话也算是给出了这样的结论,两个builder method其实是没有差异的。
接下来试一下动态的库文件,也就是共享库文件的创建。
以上是运行效果,可以看得出来,差异点不仅仅在于库文件本身,目标文件其实也发生了变化。
看了上面的信息,结合我自己的理解构建一个例子。
这是运行的效果,可以看得出来从编译到库文件的创建,再到库文件的链接使用都是没问题的。最终的程序运行正常。
关于之后的这个目录的配置,其实还是很简单的。在前面的例子中,其实指定当前目录也是其中的一种方式。关于这个配置文件的模板,我觉得其实可以往信息全的方向写,全都用列表形式管理可能会是最通用的模板。