1

macdeployqt.appで実行すると、ライブラリは正常に追加されますが、起動しようとするとアプリケーションがクラッシュします。これはMacOSX 10.7では問題なく動作しますが、Mac OS X10.8DP3では喜びがありません。私が使用したQtをインストールするにはport install qt4-mac(ただし、Qt Webサイトの10.7マシンにはるかに古いバージョンのQtがある可能性があります)。

指示:macdeployqt bin/Synergy.app -verbose=3

Eniteログ:http ://pastebin.com/i37vadB7

Log: Using install_name_tool: 
Log:  in "bin/Synergy.app/Contents/Frameworks//libcrypto.1.0.0.dylib" 
Log:  change reference "/opt/local/lib/libz.1.dylib" 
Log:  to "@executable_path/../Frameworks/libz.1.dylib" 
ERROR: "install_name_tool: can't open input file: bin/Synergy.app/Contents/Frameworks//libcrypto.1.0.0.dylib for writing (Permission denied)
install_name_tool: can't lseek to offset: 0 in file: bin/Synergy.app/Contents/Frameworks//libcrypto.1.0.0.dylib for writing (Bad file descriptor)
install_name_tool: can't write new headers in file: bin/Synergy.app/Contents/Frameworks//libcrypto.1.0.0.dylib (Bad file descriptor)
install_name_tool: can't close written on input file: bin/Synergy.app/Contents/Frameworks//libcrypto.1.0.0.dylib (Bad file descriptor)
" 
ERROR: "" 
Log: 
Log: Deploying plugins from "/opt/local/plugins" 
Log: Created configuration file: "bin/Synergy.app/Contents/Resources/qt.conf" 
Log: This file sets the plugin search path to "bin/Synergy.app/Contents/PlugIns"
4

3 に答える 3

0

私がぶらぶらしていた古いQtSDK.dmg(qt-sdk-mac-opensource-2010.03.dmg)にダウングレードすることで解決しました。sudo port uninstall qt4-macまた、新しいSDKを削除するために実行しました。

つまり、Qtの最新バージョンには壊れたmacdeployqtアプリがあるようです。

これが私が今持っているQtバージョンです。これは機能します:

$ qmake -version
QMake version 2.01a
Using Qt version 4.6.3 in /Library/Frameworks
于 2012-05-12T13:02:43.750 に答える
0

macdeployqt に権限の問題があると思います。私はsudoを使って解決しました:

sudo -s -- 'macdeployqt myapp.app; chown -R $(USER) myapp.app'
于 2014-01-26T07:16:04.540 に答える
0

エラー メッセージから、使用している libcrypto がローカル ファイル システムの libz にリンクされているようです。必要なことは、バンドルの Frameworks ディレクトリに libz のコピーがあることを確認し、それを使用install_name_toolしてバンドル内のバージョンへのパスを変更することです。

install_name_tool -change /opt/local/lib/libz.1.dylib @executable_path/../Frameworks/libz.1.dylib bin/Synergy.app/Contents/Frameworks//libcrypto.1.0.0.dylib

バイナリが不足しているライブラリにリンクされている場合、通常はクラッシュが発生します。

macdeployqtQt の最近のいくつかのリリースを変更する際にいくつかの問題があったため、リンクされたパスを確認する必要があります。

于 2014-01-26T10:42:26.967 に答える