2010-06-21 12 views
2

작업중인 프로젝트를 컴파일하는 데 문제가 있습니다. 다른 모든 것은 잘 작동하지만 컴파일 할 때 다음과 같은 오류 메시지가 나타납니다.ld가 오브젝트 파일을 인식하지 못합니다.

/usr/bin/ld:obj/content/xmSound.o: file format not recognized; treating as linker script 

나는 이런 일이 발생하는 이유를 모릅니다. 아마도 코드에서 약간의 오류 일지 모르지만 저는 잘 모릅니다. 소스 파일 xmSound.o는 can be found here에서 컴파일되고 메이크 파일은 is here입니다.

+0

make를 사용하지 않고 수동으로 파일을 컴파일하면 동일한 오류가 발생합니까? –

+0

xmSound.o를 빌드하려고 할 때'make '의 출력을 표시 할 수 있습니까? –

답변

1

'file obj/content/xmSound.o'을 실행하고 해당 파일에 대한 내용과 로더가 불평하지 않는 다른 개체 파일을 비교하십시오.

개체 파일을 만드는 규칙이 잘못되어 어쨌든 파일이 개체 파일이 아닐 가능성이 있습니다.

+0

허. 'obj/content/xmSound.o : C++ 용 GCC 미리 컴파일 된 헤더 (버전 013)'What the heck? 내 메이크 파일 규칙은 어떻게 든 잘못되어야합니다. –

+0

오, 예, 지금 무슨 일이 일어 났는지 압니다. make는 xmSound.cpp와 xmSound.h를 모두 g ++로 전달하여 객체 파일 대신 미리 컴파일 된 헤더로 컴파일합니다. 나는 규칙을 고쳐야 만 모든 것이 훌륭하고 멋지게 될 것입니다. 나는 희망. –

+0

그래, 일했다. 감사. –

관련 문제