iPhone 시뮬레이터 :“libpng.dylib, 파일은 필요한 아키텍처가 아닙니다”

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

  •  05-07-2019
  •  | 
  •  

문제

Libpng 라이브러리를 iPhone 응용 프로그램에 연결 하고이 오류를 얻으려고합니다.

ld: warning: in /opt/local/lib/libpng.dylib, file is not of required architecture

이것은 시뮬레이터 나 장치를 위해 빌드 할 때 발생합니다.

그러나 콘솔 애플리케이션을 구축하면 libpng에 잘 연결될 수 있습니다.

내가 뭘 잘못하고 있죠? iPhone 개발에 사용해야하는 다른 libpng.dylib가 있습니까?

도움이 되었습니까?

해결책

Chris Long이 말했듯이 Libpng는 iPhone에서 사용할 수 없습니다. 프로젝트에 컴파일 할 수 있습니다 (ARM을 위해 컴파일하는 경우). 그렇지 않으면 workum이 없습니다. 다음은 리드입니다. http://www.cloudgoessocial.net/2009/06/09/imagemagick-on-iphone-with-jpeg-png/

또한 레코드의 경우 PNG와 같은 UIIMAGE를 기본적으로 사용하여 다음과 같이 쓸 수 있습니다. UIImagePNGRepresentation(UIImage *image)

다른 팁

iPhone에서 Dylibs를 사용할 수 없으므로 정적으로 컴파일해야합니다. 말하면, 당신이보고있는 오류는 별도의 문제입니다.

Snow Leopard에서 개발 중입니까? 그렇다면 구축 한 기본 라이브러리는 64 비트 일 것입니다. 시뮬레이터에는 32 개의 비트 라이브러리가 필요합니다. 파일을 실행하여 확인할 수 있습니다.

file /opt/local/lib/libpng.dylib

당신이 다음과 같은 것을 보지 못하면 :

(for architecture i386):    Mach-O dynamically linked shared library i386

그러면 재사용 할 수 없습니다. 정적 i386 lib로 라이브러리를 재구성하면 시뮬레이터에서 사용할 수 있어야합니다. AutoConf 기반 빌드 인 경우 이것 블로그 게시물은 빌드를 수행하는 방법을 설명하고 사용할 수있는 쉘 스크립트가 있습니다.

인터넷에서 다운로드 한 libpng.dylib입니까? iPhone 개발자는 외부 동적 라이브러리를 사용할 수 없습니다.

libpng를 사용할 수 있는지 모르겠지만 여기에 확인하는 방법은 다음과 같습니다.

  1. 대상 목록에서 앱 이름을 두 번 클릭하십시오.
  2. 프레임 워크 목록 아래에서 플러스 버튼을 클릭하고 찾으십시오. 소문자 이름은 "z"이후에 나타납니다.

존재하지 않으면 사용할 수 없습니다. 정적 라이브러리를 찾아 소스에서 컴파일하십시오. iPhone 시뮬레이터 (Intel)와 iPhone (ARM)의 아키텍처를 위해 특별히 컴파일해야합니다.

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