2011-04-11 4 views
1

이것은 내 전문 분야 밖에 있으므로, 이것이 다소 초보적인 것처럼 보이면 용서해주십시오. 나는 C와 정말 일한 적이 없기 때문에 이것은 나에게 조금 새로운 것이다. 나는 MIPS에 the ISC's DHCP implementation을 크로스 컴파일하는 임무를 맡았습니다. 내가 컴파일러 (에는 mipsel-리눅스 GCC) 및 기타 분류 된 도구를 가지고 그것을 잘 컴파일하지만 모든 파일에 링크 할 때 실패 :크로스 컴파일시 PIC/non-PIC 코드 오류

잘못된 값을 : 연결 ... 대상에게 파일의 특정 데이터를 병합하는 데 실패 PIC 비 PIC 파일이있는 파일

-fPIC 및 -fno-PIC는 변경되지 않았습니다. 이 간단한 해결책이 있습니까, 아니면이 소프트웨어의 덩어리를 다시 작성해야합니까? 모든 입력이 감사하겠습니다, 나는 약간의 손실에있어.

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

답변

4

뭔가 당신이에 연결하고 라이브러리와 잘못은 PIC 컴파일 표준 라이브러리를 가지고 있는지 확인하십시오, 당신은하지 시스템의,에 링크 있음 :. 다음과 같이

내 configure 줄입니다.

+1

더 자세히 설명하려면 : PIC (위치 독립적 코드)는 컴파일 된 코드의 속성이며 소스와 아무 관련이 없습니다. –

+0

@Nathan : Gah, 나는 이것이 mips라고 놓쳤습니다. 나는 [this] (http://www.microchip.com/) PIC를 생각하고 있었지만 대답은 동일하다. 승리! – nmichaels

+0

예, gcc에서 라이브러리를 컴파일하고 링커가 x86과 MIPS 코드를 연결하려고 시도했습니다. – Parker