3

KDE's MarbleWidgetのアプリケーションでの使用を検討してきましたOSX。ただし、ここにある手順:http: //marble.kde.org/sources.phpは、それをビルドmarble.appしてインストールするだけのようです。インクルードとライブラリを下にインストールする方法を理解できませんでした/usr/local.

何か案は?

4

2 に答える 2

1

Linux版についてしかアドバイスできませんが、似ていると思います。

インストールプロセスでは、独自のアプリケーションで使用できるライブラリファイルも作成する必要があります。それらを/usr/ localフォルダーにコピーするには、次のようにします。

http://code.google.com/p/tonatiuh/wiki/InstallingMarbleForLinux

次に、次の手順に従って基本的なアプリケーションをセットアップできます。http: //techbase.kde.org/Projects/Marble/MarbleCPlusPlus

基本的に、ライブラリファイルを見つけて、コピーして正しいディレクトリに貼り付ける必要があります。お役に立てば幸いです。

于 2013-02-19T16:35:32.480 に答える
1

編集最初に、 http://techbase.kde.org/Projects/Marble/MacCompilingでcmakeの指示に従う必要があります。

CMakeLists.txtを変更する必要がある場合があります。CMAKE_OSX_ARCHITECTURESを設定する両方の行を確認してください。とにかく、私はこれをしなければなりませんでした:この変数をOSXプラットフォームに適したものに設定することもできますが、cmakeはデフォルトで適切なアーキテクチャを推測するのに十分賢いようです。また、コマンドラインで-DCMAKE_OSX_ARCHITECTURESを渡すことは機能していないようです。

次に、make、makeinstallを実行します。

ここに、どのファイルをどこにコピーする必要があるかについての説明があります。

https://code.google.com/p/tonatiuh/wiki/InstallingMarbleForMac

その後、いくつかのことを行う必要があります。ファイルlibmarblewidget.15.dylib(/ usr / local / lib / marbleにコピーします)は、ファイルがどこにあるかがわかるように修正する必要があります。OSX用のアプリケーションのデプロイに関するQtページ(http://qt-project.org/doc/qt-4.8/deployment-mac.html)には、これを行う方法に関するより広範なガイドがありますが、基本的にはinstall_name_toolを使用する必要があります。それが現在どこにあるかを図書館に伝えるために。otoolを使用してステータスを確認すると、次のようになります。

    kagutsuchi$ otool -L /usr/local/lib/libmarblewidget.15.dylib
    /usr/local/lib/marble/libmarblewidget.15.dylib:
        /marble/build/dir/src/lib/marble/libmarblewidget.15.dylib (compatibility version 15.0.0, current version 0.15.0)
        /Developer/QtSDK/Desktop/Qt/4.8.0/gcc/lib/QtCore.framework/Versions/4/QtCore (compatibility version 4.8.0, current version 4.8.0)
        /Developer/QtSDK/Desktop/Qt/4.8.0/gcc/lib/QtDBus.framework/Versions/4/QtDBus (compatibility version 4.8.0, current version 4.8.0)
        /Developer/QtSDK/Desktop/Qt/4.8.0/gcc/lib/QtGui.framework/Versions/4/QtGui (compatibility version 4.8.0, current version 4.8.0)
        /Developer/QtSDK/Desktop/Qt/4.8.0/gcc/lib/QtXml.framework/Versions/4/QtXml (compatibility version 4.8.0, current version 4.8.0)
        /Developer/QtSDK/Desktop/Qt/4.8.0/gcc/lib/QtSvg.framework/Versions/4/QtSvg (compatibility version 4.8.0, current version 4.8.0)
        /Developer/QtSDK/Desktop/Qt/4.8.0/gcc/lib/QtNetwork.framework/Versions/4/QtNetwork (compatibility version 4.8.0, current version 4.8.0)
        /Developer/QtSDK/Desktop/Qt/4.8.0/gcc/lib/QtScript.framework/Versions/4/QtScript (compatibility version 4.8.0, current version 4.8.0)
        /Developer/QtSDK/Desktop/Qt/4.8.0/gcc/lib/QtWebKit.framework/Versions/4/QtWebKit (compatibility version 4.8.0, current version 4.8.0)
        /Developer/QtSDK/Desktop/Qt/4.8.0/gcc/lib/QtDeclarative.framework/Versions/4/QtDeclarative (compatibility version 4.8.0, current version 4.8.0)
        /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 41.0.0)
        /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 52.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
        /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 635.15.0)

2行目(/marble/build/dir/src/lib/marble/libmarblewidget.15.dylib ...)は、ライブラリの現在の場所ではないため、問題があります。次の方法で変更できます。

    kagutsuchi$ sudo install_name_tool -id /usr/local/lib/marble/libmarblewidget.15.dylib /usr/local/lib/marble/libmarblewidget.15.dylib

-idの後の引数は、新しい識別子です。次の引数は変更するファイルなので、次のこともできます。

    kagutsuchi$ cd /usr/local/lib/marble
    kagutsuchi$ sudo install_name_tool -id /usr/local/lib/marble/libmarblewidget.15.dylib libmarblewidget.15.dylib

また、プラグインを/ usr / local / bin / marbleにコピーしたら、プラグインを変更して、libmarblewidget.15.dylibを探す場所がわかるようにする必要があります。これも、install_name_toolを使用して行います。

    kagutsuchi$ cd /usr/local/lib/marble
    kagutsuchi$ for sofile in `ls *.so`; do sudo install_name_tool -change /marble/build/dir/src/marble/build/src/lib/libmarblewidget.15.dylib /usr/local/lib/marble/libmarblewidget.15.dylib $sofile; done

libmarblewidget.15.dylibの修正に使用したのと同じ値を/marble/ build/dirに使用できるはずです。

これはすべて機能するはずです。これらのファイルをotool-Lでチェックすると、ライブラリの適切な場所を探しているはずです。また、.proファイルに適切なINCLUDEPATHとLIBSが含まれていれば、Qtコードをコンパイルできるはずです。

しかし...私はこの時点で立ち往生しています。コードをコンパイルしましたが、MarbleWidgetを実行しようとすると、作成したプラグインの適切な場所が見つかりません。プラグインの件名について質問を投稿し、助けが得られるかどうかを確認します。

于 2013-03-26T04:24:11.053 に答える