darts-clone
Darts 的编译结果为 darts.h ,使用的时候 include 该文件即可,这样的发布方式是希望通过内联函数实现高效率。
在交叉编译时直接修改了项目的makefile中的编译器,修改为arm-linux-gnueabi-g++和aarch64-linux-gnu-g++。编译x86时在-Cflags中加参数-m32,此时报了缺少multilib的错误,使用sudo apt-get install gcc-multilib g+±multilib后编译成功。
从编译输出中可以看出编译的中间文件有darts.o, mkdarts.o, darts-benchmark.o和test-darts.o,install生成的darts.h都是一样的
RABIT
直接make会报找不到一些头文件的错误
解决方法:在项目的github中找到dmlc-core工程(https://github.com/dmlc/dmlc-core),下载后将dmlc-core的include/dmlc复制到提示找不到头文件的位置,即可成功编译,更换架构交叉编译的方式同上。
RABIT编译后生成了静态库文件和一些中间文件。