Eclipse에서 "인식되지 않은 에뮬레이션 모드 : 32"오류를받는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/663811

문제

-M32 인수로 컴파일 할 때 어떻게이 오류가 발생합니까?

인식되지 않은 에뮬레이션 모드 : 32

x86_64 기계에서 g ++를 사용하여 컴파일하고 있습니다. 한 프로젝트에서 발생하지만 다른 프로젝트에서는 발생하지 않습니다 ... 힌트?

메모: Eclipse CDT를 사용하고 있습니다. 아마도 이것은 IDE 특정 Gocha일까요?

회상 된 질문

아마도 더 좋은 질문은 다음과 같습니다. x86_64 기계에서 실행할 때 Eclipse에서 x86 바이너리를 구축하는 가장 좋은 방법은 무엇입니까?

도움이 되었습니까?

해결책

Eclipse에서는 컴파일러 옵션에 지정된 경우 Miscelanious 링커 옵션에 -m32를 지정해야합니다.

"인식되지 않은 에뮬레이션 모드 : 32"오류 메시지는 참조가 존재하지 않는 라이브러리 경로를 참조 할 때 나타납니다.

다른 팁

하나의 프로젝트에서 당신은 전달합니다 -m 우연히 링커에. GNU 링커 (LD)는 에뮬레이션 모드를 지정하기위한 -m 옵션을 지원합니다. 에뮬레이션은 링커 스크립트, 출력 객체 파일 형식 및 시작 주소와 같은 매개 변수로 구성됩니다. 하지 말아라 -m ldflags이지만 cxxflags (c ++ 컴파일러 플래그) 또는 cflags (c 컴파일러 플래그)에.

예를 들어, 내 ld ELF BINARIES 및 A.OUT BINARIES를 각각 생성하기위한 에뮬레이션 모드 ELF_I386 및 I386Linux를 지원합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top