2011-04-11 98 views
1

这完全在我的专业领域之外,所以如果这看起来很基本,请原谅我。我从来没有真正与C合作过,所以这对我来说有点新鲜。我的任务是将the ISC's DHCP implementation交叉编译成MIPS。我有编译器(mipsel体系-Linux的海湾合作委员会)和其他各种工具和它编译罚款,但在每一个文件链接时失败:交叉编译时的PIC /非PIC代码错误

值错误:未能合并目标文件的 具体数据链接... PIC 文件与非PIC文件

-fPIC和-fno-PIC什么也没有改变。有没有简单的解决方案,或者我需要开始重写这个软件的块?任何意见将不胜感激,我有点亏损。

我的配置路线如下:

./configure CC=mipsel-linux-gcc CPP=mipsel-linux-cpp --host=mips --build=i686-pc-linux-gnu 

回答

4

什么是错的与你在链接库请确保您有编为PIC标准库,并链接到它,而不是你的系统。

+1

为了进一步阐明:PIC(位置独立代码)是编译代码的一个属性,并且与源代码无关。 – 2011-04-11 19:06:32

+0

@Nathan:Gah,我错过了这是mips。我正在考虑[this](http://www.microchip.com/)PIC,但答案是一样的。赢得! – nmichaels 2011-04-11 19:53:31

+0

是的,发生了什么事是一个库正在被gcc编译并且链接器试图链接x86和MIPS代码。 – Parker 2011-04-16 05:24:21