2012-06-17 2 views
3

맥 OSX에 Qt는 응용 프로그램을 배포 :누락 된 파일 때 나는 내가이 명령을 실행 해요 맥 OSX에 Qt는 응용 프로그램을 배포하기 위해 노력하고있어

macdeployqt Example.app 

주로 실행 파일의 크기가 성장함에 따라 작동하는 것 같다을 그래서 나는 관련 플러그인과 라이브러리가 추가되고 있다고 가정한다. 그러나 결국 macdeployqt 출력이 오류 메시지 :

ERROR: no file at "/usr/local/pgsql/lib/libpq.5.dylib" 

아무도이 파일이 무엇인지 알고 있나요? 작동되도록하려면 설치해야합니까?

+0

" 'liqpq'"는 PostgreSQL 라이브러리입니다. 프로젝트에 포함 시켰습니까? 그렇다면 여러분이 만든 응용 프로그램 번들에 복사해야한다고 생각합니다. –

+1

@MichaelDautermann, 이상하게 들리지만, 실제로 SQlite 프로젝트에서 PostgreSQL을 사용하지 않습니다. 이 종속성을 제거 할 수있는 방법이 있습니까? –

답변

4

states : 응용 프로그램이 QtSql 모듈을 사용하는 경우 설명서가 배포됩니다. macdeployqt 도구는 응용 프로그램에서 사용하는 플러그인을 모르고 모든 응용 프로그램을 배포하려고 시도합니다. 응용 프로그램은 플러그인과 직접 연결되지 않으므로 단순히 실행 파일을보고 사용하는 용도를 알 수있는 방법이 없습니다. macdeployqt 도구는 응용 프로그램의 코드를 구문 분석하거나 손상 될 가능성이있는 경험적 방법을 사용하여 SQL 드라이버 이름 문자열을 검사해야합니다. 이것은 macdeployqt 도구의 단점입니다.

임시 해결 방법은 QtSdk의 plugins/sqldrivers 폴더에서 사용되지 않는 플러그 인을 이동하는 것입니다.

참고 : Example.app은 실행 파일이 아닙니다. 그것은 응용 프로그램 번들입니다 - 물건이 들어있는 폴더이며 쉘에서 또는 응용 프로그램 번들을 마우스 오른쪽 버튼으로 클릭하여 Finder를 통해 일반적인 방법으로 내용을 검사 할 수 있습니다.

+0

Qt를 직접 컴파일하지 않았으므로 Qt 웹 사이트에 제공된 것만 설치했습니다. Macdeployqt가이 라이브러리를 패키지에 추가하려고 시도하지만, 응용 프로그램이 없어도 제대로 작동합니다. –

+0

정보 및 문서 참조에 대해 감사드립니다. 플러그인 디렉토리에서 드라이버가 제거되었는지 확인하여 작동하는지 확인합니다. –