linux内核和应用程序是否需要编译器一致?
我的内核版本是gcc4.1.0应用程序是用eldkpowerpc-linux-gcc4.2.2,直接用powerpc-linux-gcc-o编译后在目标板上无法运行错误如...
我的内核版本是gcc4.1.0
应用程序是用eldk powerpc-linux-gcc4.2.2,直接用powerpc-linux-gcc -o 编译后在目标板上无法运行
错误如下:-sh:./hello :not found
加上-static后可以运行
请问这是怎么回事?如何解决?
总不能每次都用静态连接吧?
谢谢~ 展开
应用程序是用eldk powerpc-linux-gcc4.2.2,直接用powerpc-linux-gcc -o 编译后在目标板上无法运行
错误如下:-sh:./hello :not found
加上-static后可以运行
请问这是怎么回事?如何解决?
总不能每次都用静态连接吧?
谢谢~ 展开
2个回答
展开全部
通常来说不需要。如果必须编译器一致的话,那就大家都只能用gcc了。但事实上有不少应用是用Intel的编译器编译的,可以获得更好的性能。
那个跟编译内核的编译器没有关系,目标板上没有gcc lib的问题而已……
你要用gcc的库,目标板上没有gcc,你又不想静态编译,典型的既要马儿跑又要马儿不吃草……
那个跟编译内核的编译器没有关系,目标板上没有gcc lib的问题而已……
你要用gcc的库,目标板上没有gcc,你又不想静态编译,典型的既要马儿跑又要马儿不吃草……
追问
我不想用静态编译,编译完的文件比动态大很多,那把gcc的库复制到目标板上,这样可以吗?
追答
我只能说,静态编译产生的文件一定比动态文件+库要大……
当然,库可以复用……
另外你是做交叉编译吧?那么gcc不能直接复制的,也要从源码编译的……
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询