컴파일 명령 실행후 ld 에러 입니다
글쓴이: saint1130 / 작성시간: 화, 2004/03/02 - 12:05오전
gcc를 사용해서 cpp파일과 ~.a 라이브러리를 컴파일 하면 에러가 납니다
희안한게 리눅스 버전별로 에러가 틀린데요 (커널 버전이라기보다 gcc 버전 따라 다른듯)
리눅스 7.3 gcc 2.96 에서는 무슨 ld ~ signal 11 이 어쩌고 하면서 에러가 납니다 - 정확히 기억이 안나네요 - 죄송 ^^
그리고 리눅스 9 gcc 3. XX 에서는
/usr/bin/ld : skipping incompatible ./libmyproject.a when searching for -lmyproject
/usr/bin/ld : cannot find -lmyproject
collect2 : ld returned 1 exit status
이렇게 에러가 나면서 컴파일이 안됩니다
libmyproject.a 는 같은 디렉토리 안에 있구요
명령은 gcc -o sample myproject.cpp -L. -lmyproject -lm 을 사용하여 컴파일 하려고 합니다
고수님들 부탁 드립니다~~~~
Forums:
Re: 컴파일 명령 실행후 ld 에러 입니다
skipping incompatible ./libmyproject.a 로 보건대
libmyproject.a 가 베포판에 따라 호환이 안되는 것 같습니다.
상황을 좀 자세히 설명해 주실래요
file 명령으로 libmyproject.a 를 확인해보면 archive
file 명령으로 libmyproject.a 를 확인해보면 archive로 나오는 것이죠?
archive format이 ld(binutils) 버전에 따라 달라진다는 말은 처음 들어 봅니다만....
---
http://coolengineer.com
-Llibmyproject.a가있는경로 를붙이셔도 아니된다면..
-Llibmyproject.a가있는경로
를붙이셔도 아니된다면..
libmyproject.a 를 object쓰듯이 그냥 쓰시고 -lmyproject 를 빼세요
so를 찾는듯 =3=33
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
ld 낮은 버전으로 링크 하면 ld terminated with si
ld 낮은 버전으로 링크 하면
ld terminated with signal 11 하면서 오류 납니다
라이브러리 경로 문제는 아닌듯 하구요
다른 업체에서 라이브러리를 포함한 소스를 받아서 테스트
해보려고 그러는 겁니다
근데 SDK를 보니까 arm linux 용으로 개발되었다고 나와있는데 혹시 그래서 그런건가요?
[quote="saint1130"]근데 SDK를 보니까 arm lin
아, 그 이유겠네요
리눅스 베포판 끼리는 이진 호환성이 완전히 보장되지 않을 수 있습니다.
그러면 혹시 라이브러리를 컨버트 할수 있는방법이 없을까요?저희가
그러면 혹시 라이브러리를 컨버트 할수 있는
방법이 없을까요?
저희가 개발한 라이브러리가 아니라서 소스를
직접 수정하기는 좀 그렇구요..
libiconv 를 사용해보라는 얘기도 들었거든요...
근데 libiconv를 살펴봤더니 문자셋 컨버트 하는거 같던데요
[quote="saint1130"]그러면 혹시 라이브러리를 컨버트 할수
ARM 용 archive 를 intel 쪽에서 어떻게 사용하나용...
컨버트 방법 없습니다.
arm 용 archive를 지원하는 cross compile 환경을 위해서 쓰이는 것 같군요.
---
http://coolengineer.com
댓글 달기