2

ソースからqt 5をビルドしています。MacOSでqtバイナリをコピーして貼り付ける最も簡単な方法は何だろうと思っています。qt フレームワークのいずれかで otool を実行すると、すべての依存関係が絶対パスを使用していることがわかります。

    bash-3.2$ otool -L QtWidgets 
QtWidgets:
    /Users/../Qt/qt5/qtbase/lib/QtWidgets.framework/Versions/5/QtWidgets (compatibility version 5.1.0, current version 5.1.1)
    /Users/../Qt/qt5/qtbase/lib/QtGui.framework/Versions/5/QtGui (compatibility version 5.1.0, current version 5.1.1)
    /Users/../Qt/qt5/qtbase/lib/QtCore.framework/Versions/5/QtCore (compatibility version 5.1.0, current version 5.1.1)
    /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 155.0.0)
    /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 19.0.0)
    /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
    /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0)
    /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 65.1.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 744.18.0)
    /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
    /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 945.16.0)
    /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 45.0.0)
    /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1187.37.0)

qt バイナリをコピーし、そのコピーに対してアプリケーションをリンクすると、機能しますが、依存するフレームワークの一部が古い場所から取得されます。バイナリを別のマシンに移動しようとすると、事態はさらに悪化します。install_name_tool を使用して問題を解決できることはわかっていますが、多くのエラーが発生しやすい手動作業です。その中で私を助けることができるスクリプトがあるかどうか疑問に思っていますか?

4

2 に答える 2

1

とにかくソースからQT5を構築している場合、静的リンクは頭痛の種のいくつかを解決します.

リストされている元のリンクが壊れています。

QT を静的にビルドする-staticには、./configure などを実行するときに引数に追加します。

./configure -prefix /Developer/qt -qt-zlib -qt-libpng -qt-libjpeg -universal -sdk /Developer/SDKs/MacOSX10.4u.sdk -static -release

コンパイル:make sub-src

インストール:sudo make install

于 2013-07-24T10:54:08.307 に答える