交叉编译遇到的问题
来源:互联网 发布:网络语笔芯是什么意思 编辑:程序博客网 时间:2024/05/16 01:41
今天我要将libwebsocket交叉编译到cortex a-8中,安装好交叉编译器后,开始..
1、libwebsocket是用autoconf配置的,得先了解autoconf的交叉编译,网上查得后自己配置成功的方式是:
2、make的时候,出现zlib.h 找不到的问题,网上查的都是说缺少zlib1g,但是我发现我已经装过了,而且使用gcc编译的时候,zlib是存在的。后面在浏览网页,看到别人说zlib也要交叉编译,于是下载zlib源码,交叉编译,配置,竟然可以用了~~(网址不知道是哪了)
3、在交叉编译zlib的时候,需要配置
1)./configure --shared --prefix=/安装路径
make LDSHARED="arm-none-linux-gnueabi-gcc -shared -Wl,-soname,libz.so.1" CC_FOR_BUILD="arm-none-linux-gnueabi-gcc" CC="arm-none-linux-gnueabi-gcc" LD="arm-none-linux-gnueabi-ld" CPP="arm-none-linux-gnueabi-g++ -E" AR="arm-none-linux-gnueabi-ar" prefix="/usr/local/arm/2.95.3" CFLAGS="-fPIC" libz.so.1.2.7 libz.a
2)拷贝zconf.h zlib.h到/usr/local/arm/2.95.3/arm-linux/include/拷贝 libz.so* 到/usr/local/arm/2.95.3/arm-linux/lib/
注:/usr/local/arm/2.95.3/是交叉编译安装的路径
与参考网址中不同的是,AR="arm-none-linux-gnueabi-ar"这边少了 rc,因为这个搞了很久,多了rc会出现缺少libz.a 的问题。
参考:http://blog.csdn.net/wwwxxlby520/article/details/4384361
4、编译成功后,将可运行文件拷贝到开发板上,运行不了,提示bash --not found.使用file filename命令检查,很神奇的事情是,使用gcc编译的时候,是显示
ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x7e8b4b086772a0c25e129b2371260140efc3498b, not stripped
可运行文件,但是使用arm-none-linux-gcc编译出来的文件,发现,竟然是
Bourne-Again shell script, ASCII text executable, with very long lines
是脚本文件,不是可运行文件,打开该文件,发现 注释写着libwebsockets-test-server - temporary wrapper script for .libs/libwebsockets-test-server,于是跑到查看.libs下的文件查看,发现是可执行文件
ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped。
- 交叉编译遇到的问题
- 交叉编译遇到的问题
- 交叉编译ffmpeg遇到的问题
- 交叉编译Apache遇到的各种问题
- 交叉编译遇到一些问题
- 交叉编译D-BUS时遇到abstract socket的问题。
- 交叉编译opencv到tiny210所遇到的问题
- 交叉编译qt5.7可能遇到的问题及解决
- 交叉编译过程中遇到的问题总结
- 交叉编译QT4.8.6遇到问题记录
- arm-linux下交叉编译json-c-0.9库遇到的编译问题
- configure的交叉编译问题
- 在构造交叉编译链的时候遇到的一些问题
- 交叉编译glibc时遇到的include/asm-arm目录不存在的问题
- 交叉编译glibc时遇到的include/asm-arm目录不存在的问题
- 交叉编译基于ARM架构的linux-3.6内核遇到的问题及解决方法
- 交叉编译百度开放云的MQTT-c时遇到的问题总结
- 在Ubuntu下安装imx6linux系统的交叉编译环境遇到的问题总结
- IOS 开发环境,证书和授权文件是什么?
- ExpandableListView 的事件响应
- c语言结构体指针初始化
- 《计算机网络》之应用层
- 怎么调整磁盘分区的大小
- 交叉编译遇到的问题
- css中position:relative和overflow:hidden的问题
- 计算机网络体系结构各层中的网络设备
- android 启动另一个apk中acitity的方法
- Java中的ArrayList、Vector和LinkedList的区别
- TCP传输协议抓包经验
- mysql安装遇到的问题
- Android读写文件
- 面向对象的程序设计学习笔记-19-静态成员函数的使用