fastdfs 海思交叉编译

Git 地址:https://github.com/happyfish100/fastdfs  https://github.com/happyfish100/libfastcommon
因为 fastdfs 依赖 libfastcommon,所以先安装 libfastcommon

1、下载 libfastcommon 并解压后进入对应路径:
本人的为: /home/guopf/tools/libfastcommon-1.0.43 
由于本人海思运行环境是32位,而编译机器是 x86_64 ,因为怕编译出来的库影响使用,所以在海思交叉编译时,
针对 make.sh 做如下修改:
#int_bytes 和 off_bytes 全部写死为4,注释掉或删除它们赋值的那个 for 循环逻辑
int_bytes=4
off_bytes=4

补充:看了下编译后的结果,会生成一个 _os_define.h 文件,里面有两个宏定义 OS_BITS 和 OFF_BITS ,这两个是用来指定源码内日志打印用 "%d" 还是 "%ld" 还是 "%lld"的,所以此处不修改影响不大。

make.sh 保存修改后:
#执行下面命令,作用是:指定编译器
export CC=arm-himix200-linux-gcc
#执行下面命令,作用是:指定头文件和库文件的安装路径,当然也可以不指定,但本人怕污染编译机器的环境
export DESTDIR=/home/guopf/tools/libfastcommon-1.0.43/build
#执行下面命令,作用是:给对应的Makefile赋值相关变量
./make.sh
#执行下面命令,作用是:安装
./make.sh install

若有需要清除编译生成的 .o 和 .so等文件,执行下面命令:
./make.sh clean

2、下载fastdfs 并解压后进入对应路径:
本人的为:/home/guopf/tools/fastdfs-6.06 

#执行下面命令,作用是:指定编译器
export CC=arm-himix200-linux-gcc
#执行下面命令,作用是:指定头文件和库文件的安装路径
export DESTDIR=/home/guopf/tools/fastdfs-6.06/build

如果编译 libfastcommon 的时候没有指定自定义安装路径,下面这步则不需要,否则报错找不到libfastcommon的头文件
修改 /home/guopf/tools/fastdfs-6.06/client/Makefile.in  
 /home/guopf/tools/fastdfs-6.06/client/test/Makefile.in 
 /home/guopf/tools/fastdfs-6.06/common/Makefile
 /home/guopf/tools/fastdfs-6.06/tracker/Makefile.in
/home/guopf/tools/fastdfs-6.06/storage/Makefile.in
在上述五个文件中的 INC_PATH 赋值语句后面增加 -I/home/guopf/tools/libfastcommon-1.0.43/build/usr/include 即指定上面安装的libfastcommon的头文件路径

make.sh 第38行注释掉 LIBS='' 保存退出后,执行 export  LIBS=-L/home/guopf/tools/libfastcommon-1.0.43/build/usr/lib
或者修改 make.sh  中第38行,写死为 LIBS='/home/guopf/tools/libfastcommon-1.0.43/build/usr/lib'
make.sh 第9行,修改 DEBUG_FLAG=1 为 0 可以变更编译优化选项为 O3

#执行下面命令,作用是:给对应的Makefile赋值相关变量
./make.sh
#执行下面命令,作用是:安装
./make.sh install
install 成功后,在当前路径下会生成一个 build 目录,里面有 include 和 lib 等文件

若有需要清除编译生成的 .o 和 .so等文件,执行下面命令:
./make.sh clean

如果报错 skipping incompatible /usr/lib64/libpthread.so when searching for -lpthread
把 make.sh 中的 OS_BITS 写死为 32

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值