leelaz工程编译

目标:arm版本leelaz可执行文件

根据官方的readme进行交叉版本的编译,gcc 为arm-linux-gnueabihf.

但是编译一直报错,简单记录下。

Linking CXX executable leelaz
/usr/bin/ld: /usr/lib/gcc/arm-linux-gnueabihf/5/libgcc.a(_dvmd_lnx.o): undefined reference to symbol '__pritnt_chk@@GLIBC_2.4'
//lib/arm-linux-gnueabihf/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

链接时报pritf undefined reference, 也没指明是哪个文件,首先想到的是只能把官方leelaz库的源码关于pritnf的调用全部引去了。

看起来好像有用不会再报printf的错了,之后是exit再之后是time......越来越多的c接口都有问题,代码越改越多。渐渐感到不太对劲,明明自己的工程编译时都没问题,leelaz工程这些接口怎么就报错了。

放弃继续对源码的修改,看到cmake工程有几个第三方的依赖库,这些库之前都是通过apt install安装的没有在意。查到有些贴子提到接口报错可能引用库用的其它编译器生成,导致不一致的情况,故决定改cmake工程的引用试试看。

之后把boost 、zlib等都以源码的方式下载,并用arm交叉编译器来编译,再加载到cmake工程。最终编译成功了,说明问题还是在下载的第三方库。

http://www.zlib.net/

RD: 后面又把库按原来的工程一个个加回来,确认是zlib的问题,下载的zlib1g-dev不可用。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值