xmake的add_files接口不仅可以添加源代码文件进行编译,还可以直接添加.o/obj对象文件、以及.a/lib的库文件到编译目标中,这个跟add_links是有区别的
add_links:只能添加链接,例如: -lxxxx 这种,链接的目标也只能是可执行程序、动态库,而且只会链接需要的代码进去
add_files:是直接将静态库中的所有对象文件,解包、重新打包到新的target中,这个target可以是新的静态库,也可以是可执行程序、或者动态库
例如:
```lua
target("test")
-- 生成静态库:libtest.a
set_kind("static")
-- 添
继续阅读 »
xmake-sublime插件深度集成了xmake和sublime text,提供方便快速的跨平台c/c++构建。
注:使用此插件,需要先安装xmake,更多关于xmake的使用说明,请阅读:文档手册,项目源码:Github。
特性
快速开始
语法色彩高亮
API输入自动提示和补全
状态栏信息
完整的命令列表
快速配置支持
构建和运行
快速宏记录和回放
编译错误提示和跳转
快速开始
编译错误提示和跳转
继续阅读 »
学习笔记-数据库
Note:参阅书籍《Spring 3.x 企业应用开发实战》
MySQL数据库引擎
MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。如果技术高超,还可以使用MySQL+API自己做一个引擎。
继续阅读 »
xmake在xmake.lua中提供了 $(varname) 的语法,来支持内置变量的获取,例如:
lua
add_cxflags("-I$(buildir)")
它将会在在实际编译的时候,将内置的 buildir 变量转换为实际的构建输出目录:-I./build
并且这些变量在自定义脚本中,也是可以支持的,例如:
lua
target("test")
after_build(target)
print("build ok for $(plat)!")
end
这将会在编译完后,输出:
lua
build ok for macosx!
这些内置变量,大部分都是通过配置的时候,缓存的
继续阅读 »
在Windows上,通过Cygwin编译的c程序在运行时,若有内存错误也会产生类似Linux上的core文件,但是该文件一般是以stackdump为后缀的文本文件,且文件提供的信息有限,只包含了程序coredump时函数调用的栈信息,不能像Linux一样使用gdb调试。所以,在Windows平台调试Cygwin编译的c程序不太方便。本文介绍一种方法,通过反汇编c程序,结合程序coredump时生成的stackdump文件,可以快速定位出程序的coredump位置。
继续阅读 »
在记MAC OS X 编译安装PHP7.0.16 中遇到的异常情况一文中,介绍了编译PHP7源码安装PHP的方式,其中的第四个步骤,命令如下:
继续阅读 »
2.1.5版本现已进入收尾阶段,此版本加入了一大波新特性,目前正在进行稳定性测试和修复,在这里,先来介绍下新版本中引入了哪些些新特性和改进。
1. 提供类似cmake的find_*系列接口,实现各种查找,例如:find_package, find_library, find_file, ...
2. 提供模块接口,实现编译器的各种检测,例如:has_features, has_flags, has_cincludes, has_cfuncs, ...
3. 实现大量扩展模块,提供文件下载、解压缩、git操作等接口
4. 支持预编译头文件支持,改进c++编译效率
5. 支持在工程中自定义模块进行扩展
6. 提供代码片段检测接口,实
继续阅读 »
上一篇文章说了ES的源码编译以及如何在本地编译。这一篇文章主要说明ES的启动过程。
继续阅读 »
使用 Samba 共享虚拟机文件夹
如果需要编译 Android 源码的同学应该了解在虚拟机中编译的痛苦。
所以今天尝试使用 Samba 共享虚拟机的文件夹到 Windows 中,方便开发和管理。
安装 samba
继续阅读 »