我想交叉编译arm-linux的gsoap,这是我的配置命令
./configure CC="arm-linux-gcc" CROSS_COMPILER="arm-linux-" ARCH="arm" --host=arm-linux LR="arm-linux-lr" LD="arm-linux-ld" LDFLAGS="-static" --enable-static --enable-samples --disable-openssl --prefix=/usr/local/gsoap-2.8 CXX="arm-linux-g++"
运行 make 后出现此错误
arm-linux-gcc -DHAVE_CONFIG_H -I. -I../.. -DWITH_YACC -DWITH_LEX -DSOAPCPP_IMPORT_PATH="\"/usr/local/gsoap-2.8/share/gsoap/import\"" -DLINUX -g -O2 -MT soapcpp2-soapcpp2_yacc.o -MD -MP -MF .deps/soapcpp2-soapcpp2_yacc.Tpo -c -o soapcpp2-soapcpp2_yacc.o
test -f 'soapcpp2_yacc.c' || echo './'
soapcpp2_yacc.c
mv -f .deps/soapcpp2-soapcpp2_yacc.Tpo .deps/soapcpp2-soapcpp2_yacc.Po
/bin/bash ../../ylwrap soapcpp2_lex.l .c soapcpp2_lex.c -- /bin/bash /home/glassess/local/arm/gsoap-2.8/missing --run flex
make[4]: * [soapcpp2_lex.c] Error 1
所以有什么不对,我必须编译yacc和bison我的自己为arm-linux
答案 0 :(得分:1)
所以有什么不对,我必须自己为arm-linux编译yacc和bison
您需要为构建环境安装flex才能通过make(而不是交叉编译的)执行。
当我交叉编译gSOAP时,构建输出如下:
/bin/bash ../../ylwrap soapcpp2_lex.l lex.yy.c soapcpp2_lex.c -- flex -l
在你的身上没有弹性命令
可能配置flex检测失败。
您可能需要检查构建环境中是否提供了flex,运行flex -h
或which flex
。
答案 1 :(得分:0)
编译不需要为我继续更多,因为我只需要lib文件及其在此错误之前创建