最近在交叉编译gsoap的时候总出现错误,仔细研究试验记录成功编译步骤。
1.解压gsoap-2.8,复制两份,命名为gsoap-x86和gsoap-arm 2.编译x86下库,进入gsoap-x86目录,执行 ./configure ,make, su -c 'make install'
3.编译arm下库,进入gsoap-arm: ./configure --prefix=/opt/gsoap --host=arm CXX=arm-linux-g++ CC=arm-linux-gcc 然后修改config.h, (1). 将#define malloc rpl_malloc
屏
蔽;
(2).将#define HAVE_MALLOC 0 更改为:#define HAVE_MALLOC 1
4然后执行make,可能会出现错误: ../../gsoap/src/soapcpp2: cannot execute binary file 原因是需要使用便生成的soapcpp2,但是x86下不能运行arm下的执行程序,于是就把这个文件重名名, 然后把x86下的gsoap/src/soapcpp2文件复制一份过来,然后继续执行make,编译成功,然后再把这个文件用以前备份的替换掉,当然也可以直接删除,然后在gsoap/src/目录下执行make,重新生成即可 5.执行make install
|