返回信息流我用arm-linux-g++编译源文件的时候,总是有include的问题,虽然有的问题还没解决,但是发现好像很多头文件需要写完整路径,不知道是因为什么……
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #1455同步于 2008/9/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖
[求助]arm-linux-g++和g++区别很多么
myou
2008/9/29镜像同步8 回复
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
makefile里面链接器怎么设定呢:(
【 在 hobby 的大作中提到: 】
: 不太了解ARM
: 但是嵌入式开发的话,是交叉编译,和你PC上编自己机器就要运行的程序当然不太一样啊
可以把需要的头文件放到交叉编译器的include里
【 在 myou (纯净半方糖) 的大作中提到: 】
: 我用arm-linux-g++编译源文件的时候,总是有include的问题,虽然有的问题还没解决,但是发现好像很多头文件需要写完整路径,不知道是因为什么……
个人理解 g++是允许在PC上的程序代码,而arm-linux-g++是允许在嵌入式小板子上面的程序代码,也就是说PC是一套操作系统,小板子也会有一套操作系统,编译起来肯定是不一样的啊,在PC上做arm-linux-g++编译自然会有些复杂的了哦。
小板子上不一定有操作系统。
小板子的CPU构架不一定是X86的,可能是arm啊,powerPC啊,或者是51啊。
交叉编译的功能,就是在普通的PC上,编译出可以在小板子上运行的二进制文件。
【 在 sweetfly 的大作中提到: 】
: 个人理解 g++是允许在PC上的程序代码,而arm-linux-g++是允许在嵌入式小板子上面的程序代码,也就是说PC是一套操作系统,小板子也会有一套操作系统,编译起来肯定是不一样的啊,在PC上做arm-linux-g++编译自然会有些复杂的了哦。
这是交叉编译啊……在linux下编译windows程序也这么复杂……
【 在 sweetfly (mession) 的大作中提到: 】
: 个人理解 g++是允许在PC上的程序代码,而arm-linux-g++是允许在嵌入式小板子上面的程序代码,也就是说PC是一套操作系统,小板子也会有一套操作系统,编译起来肯定是不一样的啊,在PC上做arm-linux-g++编译自然会有些复杂的了哦。
应该是你的路径没有指对吧。
两者编译环境不一样,设定环境变量Path,指对arm-linux-g++的路径,然后修改你要编译的应用程序的 Makefile,把编译器改成arm-linux-g++,应该就可以了。
Makefile发上来看看。
另外pc的gcc编译器、编译arm直接运行的elf程序的交叉编译器、编译arm 上linux系统的应用程序的较差编译器,这三个是不一样的。