[SOLVED] Qt5.2.1 ビルドの順番について



  • Qt5 をビルドする時、まず qtbase を最初にビルドしますが、
    その他のディレクトリ(qtdeclarative, qtmultimedia etc)は、ビルドの順番によってエラーが起きたりするでしょうか?

    qtmultimedia をビルドする場合、事前に、qtbase だけビルドしていればよいでしょうか?

    以上、よろしくお願いします。



  • qtbase 以外のモジュールに依存するモジュールもあります。
    そういった依存関係は各モジュールの sync.profile の dependencies に記述してあります。

    qtbase/configure を実行してビルドしている場合はその依存関係に注意してビルドする必要があります。qtbase や qtmultimedia と同じディレクトリにある configure を実行した場合には module-qtmultimedia をターゲットとして make を実行すると依存関係を考慮してビルドできます。

    たとえば、qtmultimedia の場合、 qtbase, qtxmlpatterns, qtdeclarative に依存します。



  • [[blank-post-content-placeholder]]



  • ありがとうございます。
    sync.profile を確認しました。

    で、下記のとおり順にやったのですが、qtdeclarative でエラーになりました。

    $ cd $HOME/qt-everywhere-opensource-src-5.2.1/qtbase/
    $ ./configure -opensource -confirm-license -prefix /usr/local/QtEmbedded-5.2.1/ -hostprefix $HOME/QtEmbedded-5.2.1/ -device linux-imx53qsb-g++ -device-option CROSS_COMPILE=arm-linux- -sysroot $HOME/workspace/rootfs/build/rootfs -no-gcc-sysroot -nomake examples
    $ make -j4
    $ make install
    $cd $HOME/qt-everywhere-opensource-src-5.2.1/qtxmlpatterns/
    $../qtbase/bin/qmake -r
    $make -j4
    $make install
    $ cd $HOME/qt-everywhere-opensource-src-5.2.1/qtdeclarative/
    $ ../qtbase/bin/qmake -r
    $make -j4
     :
     :
    /home/chung/qt-everywhere-opensource-src-5.2.1/qtdeclarative/lib/libQt5QuickTest.so: undefined reference to QTestResult::setCurrentTestData(QTestData*)' collect2: ld returned 1 exit status make[2]: *** [../../bin/qmltestrunner] エラー 1 make[2]: ディレクトリ/home/chung/qt-everywhere-opensource-src-5.2.1/qtdeclarative/tools/qmltestrunner' から出ます
    make[1]: *** [sub-qmltestrunner-make_first] エラー 2
    make[1]: ディレクトリ `/home/chung/qt-everywhere-opensource-src-5.2.1/qtdeclarative/tools' から出ます
    make: *** [sub-tools-make_first] エラー 2

    qmltestrunner でエラーになっていますが、何のエラーか調べる方法が知りたいのですが?



  • qtdeclarative の ../qtbase/bin/qmake -r でエラーになるのですが、
    何かお気づきになる点は無いでしょうか?
    コマンド手順を記載しています。

    $ cd qt-everywhere-opensource-src-5.3.1
    $ cd qtbase/
    $ ./configure -opensource -confirm-license -prefix /usr/local/QtEmbedded-5.3.1 -hostprefix $HOME/QtEmbedded-5.3.1 -device linux-imx53qsb-g++ -device-option CROSS_COMPILE=arm-linux- -sysroot $HOME/workspace/rootfs/build/rootfs -no-gcc-sysroot -make libs -nomake examples -nomake tests -nomake tools
    $ make
    $ make install
    $ cd ../qtxmlpatterns/
    $ ../qtbase/bin/qmake -r
    $ make
    $ make install
    $ cd ../qtdeclarative/
    $ ../qtbase/bin/qmake -r
     :
    Reading /home/chung/qt-everywhere-opensource-src-5.3.1/qtdeclarative/tests/auto/cmake/cmake.pro
    Project MESSAGE: cmake executable not found. Not running CMake unit tests
    Reading /home/chung/qt-everywhere-opensource-src-5.3.1/qtdeclarative/tests/auto/installed_cmake/installed_cmake.pro
    Project MESSAGE: cmake executable not found. Not running CMake unit tests
    chung@ubuntu:~/qt-everywhere-opensource-src-5.3.1/qtdeclarative$

    よろしくお願いします。



  • $ sudo apt-get install cmake で解決しました。
    ありがとうございました。



  • qtmultimedia の qmake で、gstreamer... no となっているのですが、
    これを、yes にするには、どのようにすればいいのでしょうか?
    オプションで指定するの?

    $ cd ../qtmultimedia/
    $ ../qtbase/bin/qmake -r
    Info: creating cache file /home/chung/qt-everywhere-opensource-src-5.3.1/qtmultimedia/.qmake.cache
    Checking for openal... no
    Checking for alsa... yes
    Checking for pulseaudio... no
    Checking for gstreamer... no
    Checking for resourcepolicy... no
    Checking for gpu_vivante... no
     :

    qtbase では、下記のオプションを指定しています。
    $ cd qtbase/
    $ ./configure opensource -confirm-license -prefix /usr/local/QtEmbedded-5.3.1 -hostprefix $HOME/QtEmbedded-5.3.1 -device linux-imx53qsb-g++ -device-option CROSS_COMPILE=arm-linux -sysroot $HOME/workspace/rootfs/build/rootfs -no-gcc-sysroot -make libs -nomake examples -nomake tests -nomake tools

    よろしくお願いします。



  • gsteamer は、 $HOME/workspace/rootfs/build/rootfs/usr にインストールされているのですが、パスの指定をしていないのでそれが原因でしょうか?



  • Gstreamerが正しくインストールされていませんでした。
    gst-ffmpeg はインストールしていないので、photography はno になっています。

    Checking for openal... no
    Checking for alsa... yes
    Checking for pulseaudio... yes
    Checking for gstreamer... yes
    Checking for gstreamer_photography... no
    Checking for gstreamer_encodingprofiles... yes
    Checking for gstreamer_appsrc... yes
    Checking for linux_v4l... yes
    Checking for resourcepolicy... no
    Checking for gpu_vivante... no

    以上、ありがとうございました。



  • Gstreamerが正しくインストールされていませんでした。
    gst-ffmpeg はインストールしていないので、photography はno になっています。

    Checking for openal... no
    Checking for alsa... yes
    Checking for pulseaudio... yes
    Checking for gstreamer... yes
    Checking for gstreamer_photography... no
    Checking for gstreamer_encodingprofiles... yes
    Checking for gstreamer_appsrc... yes
    Checking for linux_v4l... yes
    Checking for resourcepolicy... no
    Checking for gpu_vivante... no

    以上、ありがとうございました。


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.