2011-09-20 3 views
1

Linux 컴퓨터에 UltraStarDeluxe를 설치하려고합니다. makefpc (Free Pascal)에 의해 생성 된 컴파일 스크립트를 사용합니다.SDL_image 오류를 연결하는 중

/usr/bin/ld: warning: ../game/link.res contains output sections; did you forget -T? 
/usr/bin/ld: cannot find -lSDL_image 
/home/sriram/ultraDX/ultrastardx-1.1-src/src/ultrastardx.dpr(344,1) Error: Error while linking 
/home/sriram/ultraDX/ultrastardx-1.1-src/src/ultrastardx.dpr(344,1) Fatal: There were 1 errors compiling module, stopping 
Fatal: Compilation aborted 
Error: /usr/bin/ppc386 returned an error exitcode (normal if you did not specify a source file to be compiled) 
make[1]: *** [../game/ultrastardx] Error 1 
make[1]: Leaving directory `/home/sriram/ultraDX/ultrastardx-1.1-src/src' 
make: *** [all] Error 2 

내가 경고 메시지 ("당신이 -T를 잊지 않았다") 것을 here 알고는 버그가 제거되었습니다 make를 호출에서 다음은 ld 종료하기 전에 오류 + 경고 메시지입니다. 여기 내 질문이 있습니다 :

업데이트 : 1. 나는 인터넷을 좀 더 검색하여 Simple Direct Media Layer를 의미합니다. 위에서 언급 한 바와 같이

default.sfx   libSDL-1.2.so.0.11.3 libSDL.la    libSDL.so   
libSDL-1.2.so.0  libSDL.a    libSDLmain.a   pkgconfig/ 

그러나, 오류가, 아직 거기 : 나는 question here에 따라, 이제 도서관을 설치, 내 /usr/local/lib이 (가) 다음이 포함되어 있습니다. 어떻게 그들을 제거 할 수 있습니까?

업데이트 2 :
@wormsparty : 내가 rpm -U SDL_image-1.2.10-1.i586.rpm를 수행하여 오류 주위에 있어요. 이제 package SDL_image-1.2.10-1.i586 is already installed이되었습니다. 또한 /usr/lib을 확인하고 다음 라이브러리가 설치 발견 :

libSDL-1.2.so.0 libSDL-1.2.so.0.11.2 libSDL_image-1.2.so.0 libSDL_image-1.2.so.0.8.2 libSDL.so 

이 내가 찾고되어야 무엇인가?

답변

2

libSDL_image.so을 제공하는 SDL_image를 찾고 있습니다. 그것은 별도의 도서관입니다.

해당 라이브러리를 설치하고 설치하십시오. 패키지의 이름은 보통 SDL_image입니다.

또한 여기를 잡을 수 있습니다 http://www.libsdl.org/projects/SDL_image/

편집 :

라이브러리 형태 lib${Name}.so.${Version}의 위치 : 패키지 X 및 X-(STABLE)의 차이에 대해. 또한 전복이있을 수 있습니다. 버전은 호환되지 않는 버전을 구별하기 위해 여기에 있습니다. 예를 들어 libpng 1.4와 1.5는 바이너리 호환이 아닙니다. 우리는 동적 생성 이유

당신이 당신의 라이브러리에 프로그램을 연결하면, 이것은 정확한 버전 번호 링크 (예 : 직접 gcc test.c /usr/lib/libSDL_image-1.2.so.0.8.2),하지만 당신은 일반적으로 정말 정확한 버전 번호에 대한 상관 없어입니다 수 링크 : libSDL_image-1.2.so. 이 링크는 정확한 버전 번호를 가리 킵니다.

일반적으로 배포판에서 런타임 파일 만 원하는 사용자는 헤더 파일이나 동적 링크가 필요하지 않습니다. 이전에는/usr/lib에 libSDL_image-1.2.so.${some_number}이 있었지만 libSDL_image-1.2.so 동적 링크가 누락되었습니다. 패키지 SDL_image-devel에 의해 제공됩니다.

+0

답장을 보내 주셔서 감사합니다. 내가 제안한 링크에서'SDL_image-1.2.10-1.i586.rpm'을 다운로드하고'root'가되고'rpm -i SDL_image-1.2.10-1.i586.rpm '을 타이핑하여 설치하려고했습니다 SDL_image-1.2.10-1.i586의 설치에서 /usr/lib/libSSL_image-1.2.so.0 파일이 SDL_image-1.2.6-7.fc11.i586 패키지의 파일과 충돌합니다. 어떻게 해결할 수 있습니까? – Sriram

+0

즉, SDL_image가 이미 설치되어 있지만 개발 파일은 설치되어 있지 않습니다. 'yum install SDL_image-devel'과 같은 것입니다. – wormsparty

+0

질문을 업데이트했습니다.위의 '업데이트 2'를 참조하십시오. – Sriram

관련 문제