博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
xmake高级特性之合并静态库
阅读量:7175 次
发布时间:2019-06-29

本文共 784 字,大约阅读时间需要 2 分钟。

  hot3.png

xmake的add_files接口不仅可以添加源代码文件进行编译,还可以直接添加*.o/obj对象文件、以及*.a/lib的库文件到编译目标中,这个跟add_links是有区别的

  • add_links:只能添加链接,例如: -lxxxx 这种,链接的目标也只能是可执行程序、动态库,而且只会链接需要的代码进去
  • add_files:是直接将静态库中的所有对象文件,解包、重新打包到新的target中,这个target可以是新的静态库,也可以是可执行程序、或者动态库

例如:

add_target("test")         -- 生成静态库:libtest.a     set_kind("static")     -- 添加对象文件     add_files("obj/*.o")     -- 添加静态库,将里面的对象文件重新打包到libtest.a中,生成新的静态库     add_files("lib/*.a")

这个target模块,可以没有任何源码,单纯的将所有静态库、对象文件重新打包到一个新的静态库中,当然再加一些源文件也是可以的

target的类型也没有限定,你也可以指定输出为动态库:shared,可执行程序:binary

例如:

add_target("test2")         -- 生成动态库:libtest2.so     set_kind("shared")     -- 添加对象文件     add_files("obj/*.o")     -- 添加静态库libtest.a中的所有对象文件     add_files("lib/libtest.a")     -- 添加一些源文件     add_files("src/*.c")

转载于:https://my.oschina.net/tboox/blog/539957

你可能感兴趣的文章
为什么内部类访问的外部变量需要使用final修饰
查看>>
【原创】40亿个数字,找出其中出现过两次的字符
查看>>
《Effective C#》快速笔记(二)- .NET 资源托管
查看>>
UVa294 Divisors
查看>>
洛谷P3406 海底高铁
查看>>
HTML学习
查看>>
Warriors of the Visual Studio, Assemble! (Visual Studio的勇士们,汇编吧!)
查看>>
使用Aouth2进行身份验证
查看>>
我们有助教啦
查看>>
一个有关原型的问题牵扯出的问题
查看>>
P53 T3
查看>>
关于 tensorflow-gpu 中 CUDA 和 CuDNN 版本适配问题
查看>>
1、JUC--volatile 关键字-内存可见性
查看>>
LeetCode: Minimum Depth of Binary Tree
查看>>
可运行的代码
查看>>
Oracle数据库添加新字段后加载页面报错 java.lang.IllegalArgumentException
查看>>
CSU 1505: 酷酷的单词【字符串】
查看>>
198. 打家劫舍
查看>>
错误之处(二)
查看>>
CSS选择器 < ~ +
查看>>