2011-01-15 2 views
0

최근에 내 PC에서 Linux를 실행하기 시작했으며 OpenGL을 배우기 시작했습니다. 내 IDE로 Eclipse CDT의 최신 버전을 사용하고 있으며 시스템은 Ubuntu 10.10, 64 비트 버전입니다.우분투에서 Eclipse CDT의 32/64 비트 문제

내가 겪고있는 문제는 IDE에서 빌드를 실행하려고 할 때마다 "Launch Failed, Binary Not Found"라는 오류 메시지가 나타납니다.

필자는 인터넷에서 주위를 둘러 보았지만 여전히 문제는 해결할 수 없었습니다. 바이너리가 빌드되어 있다는 사실을 알고 있는데, 터미널 창에서 실행할 수 있습니다. 내가 이클립스가 32 비트 바이너리를 실행하려고 시도했지만, GCC 4.4.5가 64 비트 시스템에서 64 비트 바이너리를 기본값으로 사용한다는 것을 본 글에 따르면. 내가

필자 메이크에 -m32 플래그를 사용하는 방법에 대한 많은 정보를 볼 수 위의 정보를 수집 곳 * 편집 * This입니다,하지만 난 아직 이클립스에 다음과 같은 출력을 얻을 :

make all 
g++ -o HelloWorld2 main.o 
/usr/bin/ld: i386 architecture of input file `main.o' is incompatible with i386:x86-64 output 
/usr/bin/ld: final link failed: Invalid operation 
collect2: ld returned 1 exit status 
make: *** [HelloWorld2] Error 1 

무엇 Eclipse가 64 비트 바이너리를 시작하거나 Eclipse가 32 비트 바이너리를 올바르게 컴파일하도록하는 방법을 알고 싶습니다.

+0

당신의 JDK 64 비트인가? – trojanfoe

+0

네, 그렇게 보입니다. – waffleShirt

답변

0

(설명하는 오류를 재현 할 수 있었기 때문에 오류가 '리버스 엔지니어링'을 기반으로했습니다.)

이클립스 프로젝트 창에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 '특성'으로 이동하십시오. C/C++ Build ->Settings에서 Binary Parsers 탭을 클릭하고 Elf Parser이 선택되어 있는지 확인합니다. (나는 그것이 유일한 확인 파서가 될 필요가 있는지 모르겠습니다).

Btw를 사용하면 readelf -h myBinary.o을 사용하고 이진 파일의 클래스를 확인하고 Class 필드를 볼 수 있습니다.

은 32 비트 바이너리를 실행에 관해서는, 어쩌면이 게시물은 helpfull입니다 : http://stefaanlippens.net/32bit_executable_on_64bit_machine

+0

정말 고마워, 지금은 응용 프로그램을 시작하고 디버깅 할 수 있으며 몇 가지 간단한 옵션 만 선택하면됩니다. 32 비트 바이너리를 컴파일해야하지만 지금은 코딩을 시작하기에 충분합니다. – waffleShirt