2010-02-27 7 views
4

OpenGL을 사용하여 C++로 3D 엔진을 작성합니다. 나는 보통 archlinux 64 비트에서이 프로젝트를 수행하지만, 휴일에는 32 비트 시스템에서 수행한다. 나는 전복을 사용하고, 내 64 비트 시스템에서 최대 svn을 지난 이후, 나는 오류를 가지고 :g ++, R_X86_64_32S : 무엇입니까?

http://pastebin.be/23730

코어 래퍼 인터페이스는 -fPIC 옵션을 사용하여 compilet하는, 정말 이해가 안 돼요. ..

감사합니다 :) 32 및 64 비트 빌드 옵션을 fubar'ing 때 다음과 같은

+0

32 비트 측에서 빌드하기 전에 64 비트 랜드에서 모든 .o 파일을 삭제 했습니까? – bmargulies

+0

예, svn을 통해 bin 파일을 브로드 캐스트하지 않았습니다. – Skypers

+0

* 모든 것이'-fPIC'로 컴파일되고 있습니까? 링커는 분명 그렇게 생각하지 않습니다. – ephemient

답변

0

재배치 오류가 거의 항상 발생한다. 이것은 빌드에서 -m64 또는 -march = medium과 같은 옵션을 사용할 때 일어납니다.이 옵션은 현재 원하지 않는 것을 64 비트로 만듭니다.

+0

나는 그렇게 생각하지 않습니다. 아키텍처가 일치하지 않으면'ld : i386 아키텍처의 입력 파일 '32 .o '와 i386 : x86-64 출력이 호환되지 않습니다 – ephemient

2

재배치 오류로 보이는 일부 파일은 -fPIC으로 컴파일되지 않습니다. 플래그를 변경하여 -fPIC을 포함시킨 다음 다시 빌드하기 전에 make clean을 수행하십시오.