异常之交叉编译---arm-vfp-linux-gnu/bin/ld: cgic.o: Relocations in generic ELF (EM: 3)

/opt/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: inilib.a(iniApi.o): Relocations in generic ELF (EM: 3)
inilib.a: could not read symbols: File in wrong format

这是网上的解决办法:

在编译交叉编译cgi程序时,出现:arm-vfp-linux-gnu/bin/ld: cgic.o: Relocations in generic ELF (EM: 3)问题,上网查了下,只要条命令就解决问题了,进入程序目录,终端执行。

#make clean -w

这个命令会删除一些文件,执行完后,你再重新编译应该就没错了 !!!

其实问题并不是这样:

而是编译是调用的静态库编译有问题是gcc格式编译的

时间: 2024-11-05 15:45:58

异常之交叉编译---arm-vfp-linux-gnu/bin/ld: cgic.o: Relocations in generic ELF (EM: 3)的相关文章

【转】linux /usr/bin/ld cannot find 解决

原文网址:http://blog.csdn.net/mzwang123/article/details/6702889 问题:在linux环境编译应用程式或lib的source code时常常会出现如下的错误讯息: /usr/bin/ld: cannot find -lxxx 这些讯息会随着编译不同类型的source code 而有不同的结果出来如: /usr/bin/ld: cannot find -lc /usr/bin/ld: cannot find -lltdl /usr/bin/ld:

linux /usr/bin/ld cannot find 解决

问题: 在linux环境编译应用程式或lib的source code时常常会出现如下的错误讯息: /usr/bin/ld: cannot find -lxxx 这些讯息会随着编译不同类型的source code 而有不同的结果出来如: /usr/bin/ld: cannot find -lc /usr/bin/ld: cannot find -lltdl /usr/bin/ld: cannot find -lXtst 其中xxx即表示函式库文件名称,如上例的:libc.so.libltdl.so

linux cross toolsChain 交叉编译 ARM(转)

转载请注明出处:http://blog.csdn.net/mybelief321/article/details/9076583 安装环境 Linux版本:Ubuntu 12.04    内核版本:Linux 3.5.0   交叉编译器版本:arm-linux-gcc-4.4.3 这个版本的交叉编译器我已经上传到了资源上,可以随便下载,点此下载 安装前的絮叨 首先简单介绍一下,所谓的搭建交叉编译环境,即安装.配置交叉编译工具链.在该环境下编译出嵌入式Linux系统所需的操作系统.应用程序等,然后

交叉编译VIM并移植到ARM嵌入式Linux系统

原创作品,允许转载,转载时请务必以超链接形式标明文章.作者信息和本声明,否则将追究法律责任.   众所周知,vim是vi的增强版本,实际体验要比vi好用很多,由于笔者为ARM系统制作的基于busybox的文件系统中只带了vi工具,本文主要介绍怎么移植vim工具到基于busybox的制作的rootfs中. 一.编译环境: Host机:ubuntu-16.10(64bit) Target: arm 交叉工具链:arm-linux-gnueabi-gcc 工具包: ncurses-5.9.7: htt

ubuntu 交叉编译arm linux 内核小例子

下载arm-linux-gcc 4.2.3http://code.google.com/p/princess-alist/downloads/detail?name=arm-linux-gcc-4.3.2.tgz&can=2&q= 安装arm-linux-gcc 4.2.3sudo tar  xvzf arm-linux-gcc-4.3.2.tar.gz  -C / 此时将安装到/usr/local/arm下面 设置环境变量 gedit ~/.profile在打开的文件最后加入以下命令ex

(mini2440)建立交叉编译环境+配置linux内核

(mini2440)建立交叉编译环境+配置linux内核 系统ubuntu12.04(非虚拟机下) mini2440 CPU型号:       S3C2440AL-40 Nanflash型号:K9F1G08 Norflash型号:SST39VF1601 LCD:              统宝 240 x 320 $: 普通账户 #:root账户 *当shell下输入路径时可使用tab键自动补全 (一)建立交叉编译环境 1.将mini2440光盘中的linux文件夹拷贝到 /home/liang

arm驱动linux异步通知与异步IO【转】

转自:http://blog.csdn.net/chinazhangzhong123/article/details/51638793 <[ arm驱动] linux异步通知与 异步IO>涉及内核驱动函数二个,内核结构体一个,分析了内核驱动函数二个:可参考的相关应用程序模板或内核驱动模板二个,可参考的相关应用程序模板或内核驱动三个 描述:设备文件IO访问:阻塞与非阻塞io访问,poll函数提供较好的解决设备访问的机制,但是如果有了异步通知整套机制就更加完整了 一.阻塞 I/O,非阻塞IO,异步

alias function varibales in Linux/GNU and Mac alias命令细说

细说,在古文言中是”奸细佞臣的话“,现如今成了”详细说明“的缩略. alias是MS-DOC中cmds中doskey的counterpart,是”别名“或者”化名“的意思 alias强大之处在于可以化繁为简,化冗为略,化干戈为玉帛,化腐朽为神奇,简而言之,高手段偷懒. 默认的话所有的设置都是在.bashrc中进行,但是总结我们平时的修改,无外乎alias某个东西,添加PATH环境变量,或者写一个什么作用的函数,就这样,所以呢 写的多了,发现.bashrc文件很长,很不好操作,所以 我们把.bas

vmware 下安装的linux误删bin目录恢复成功(全过程)避开各种坑

加载上系统安装iso镜像,设置光驱启动,在vmware菜单栏里点击,虚拟机-电源-打开电源时进入固件. 进入系统救援模式(选第3个选项)网卡需要配置上ip不然无法访问ftp服务器,注意:IP后面的通配符一般写24,进入后提示符为 bash-4.1# bash-4.1# cd /mnt/sysimage 目录下. 打包其他正常启动linux机器(系统版本要相同)上的bin文件,要打包成.tar格式(windows系统下可以安装 7ZIP 进行打包,linux系统下用 tar cvf bin.tar