0

QT プログラムを i386 Ubuntu Linux PC から Pandaboard にコンパイルする際に問題が発生しています。

PC から Pandaboard へのコンソール アプリケーションを作成できるビルドの作成に成功しましたが、GUI でプログラムを使用しようとすると、シンボルが見つからないというエラーが表示されます。

ARM デバイス上の Ubuntu システムで直接実行されるプログラムを構築しようとしています。

プログラムを組み込みとして実行するのではなく、スタンドアロンの QT アプリケーションとして実行します。

X11 ディスプレイ ドライバーに問題があると思います。

以下は、./configure の実行時に受け取るエラーです。

XLib 機能テストに失敗しました! /home/vantage/QT_ARM_GUI2/qt-everywhere-opensource-src-4.8.4/mkspecs/linux-arm-gnueabi-g++.

以下は、現在のビルドにインストールしたアイテムです。

libfontconfig1-dev

libfreetype6-dev

libx11-dev

libxcursor-dev

libxext-dev

libxfixes-dev

libxft-dev

libxi-dev

libxrandr-dev

libxrender-dev

sudo apt-get install build-essential automake autoconf libtool

sudo apt-get install g++-arm-linux-gnueabi

sudo apt-get build-dep qt4-qmake

以下は私の現在のPATH変数です:

/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/vantage/QT/arm-2012.09/bin:/home/vantage/QT/xc/include/X11:/home/vantage/QT/xc/lib/X11:/usr/lib/xorg:/usr/include/xorg

QTの次のビルドを使用しています:

qt-everywhere-opensource-src-4.8.4

以下のツールチェーンを使用しています。

arm-2012.09-64-arm-none-linux-gnueabi-i686-pc-linux-gnu from codesourcery

以下は私のConfigステートメントです:

./configure -arch arm -nomake demos - nomake examples - nomake docs -no-qt3support -release -platform linux-g++ -xplatform qws/linux-arm-gnueabi-g++ -declarative -xmlpatterns -exceptions -make tools -make libs -little-endian

linux.conf ファイルを編集し、QMAKE_LIBDIR_X11 を /usr/lib/xorg を指すように変更し、QMAKE_INCDIR_X11 を /usr/include/xorg を指すように変更しました。

上記の include および lib ディレクトリと一致するように、linux-arm-gnueabi-g++ -> qmake.conf ファイルも編集しました。

また、これらのディレクトリをライブラリに向け、「http://www.x.org/archive/X11R6.8.1/src-single/X11R6.8.1-src.tar.bz2」から受け取ったファイルをインクルードしようとしました。 home/vantage/QT/xc/ にエクスポートされます。

以下の記事に従って、エラーを解決しようとしていますが、Xlib でまだ問題が発生しています。"http://qt-project.org/forums/viewthread/17193"

任意の指示または支援をいただければ幸いです。

前もって感謝します

4

1 に答える 1

0

Qtソースのqmake.configファイルで、これらのインストール済みライブラリ、つまりlibX11などをすべて提供するようにしてください。クロスコンパイルされたライブラリとヘッダーを含めると、機能するはずです。

于 2012-12-29T08:50:28.170 に答える