使用linux-arm-gnueabi-g ++编译ARM的QT时出现XLib错误

时间:2021-03-29 09:11:52

I am having some issues compiling a QT program from an i386 Ubuntu Linux PC to a Pandaboard.

我在编译从i386 Ubuntu Linux PC到Pandaboard的QT程序时遇到了一些问题。

We were successful in creating a build which could create a console application from my PC to a Pandaboard, but when I try to use a program with a GUI, I receive a missing symbol error.

我们成功地创建了一个可以从我的PC到Pandaboard创建控制台应用程序的构建,但是当我尝试使用带有GUI的程序时,我收到了丢失的符号错误。

We are trying to build a program which runs directly on the Ubuntu system on the ARM device.

我们正在尝试构建一个直接在ARM设备上的Ubuntu系统上运行的程序。

We do not want to run the program as embedded, but as a stand-alone QT application.

我们不希望将程序作为嵌入式程序运行,而是作为独立的QT应用程序运行。

I am having an issue with the X11 Display Drivers I believe.

我相信我遇到了X11显示驱动程序的问题。

Below is the error I am receiving when running my ./configure:

以下是我在运行./configure时收到的错误:

XLib functionality test failed! You might need to modify the include and library search paths by editing QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/vantage/QT_ARM_GUI2/qt-everywhere-opensource-src-4.8.4/mkspecs/linux-arm-gnueabi-g++.

XLib功能测试失败!您可能需要通过编辑/home/vantage/QT_ARM_GUI2/qt-everywhere-opensource-src-4.8.4/mkspecs/linux-arm-gnueabi-g++中的QMAKE_INCDIR_X11和QMAKE_LIBDIR_X11来修改包含和库搜索路径。

Below are the items I have installed on the current build:

以下是我在当前版本中安装的项目:

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

Below is my current PATH variable:

以下是我当前的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

I am using the following build of QT:

我正在使用以下QT版本:

qt-everywhere-opensource-src-4.8.4

I am using the below toolchain:

我使用下面的工具链:

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

来自codesourcery的arm-2012.09-64-arm-none-linux-gnueabi-i686-pc-linux-gnu

Below is my Config statement:

以下是我的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

I have edited my linux.conf file and changed the QMAKE_LIBDIR_X11 to point to /usr/lib/xorg and my QMAKE_INCDIR_X11 to /usr/include/xorg.

我编辑了我的linux.conf文件并将QMAKE_LIBDIR_X11更改为指向/ usr / lib / xorg,将我的QMAKE_INCDIR_X11更改为/ usr / include / xorg。

I have also edited my linux-arm-gnueabi-g++ -> qmake.conf file to match the above include and lib directories.

我还编辑了我的linux-arm-gnueabi-g ++ - > qmake.conf文件以匹配上面的include和lib目录。

I have also tried to point these directories to the library and include files I received from "http://www.x.org/archive/X11R6.8.1/src-single/X11R6.8.1-src.tar.bz2" which I exported to home/vantage/QT/xc/.

我也尝试将这些目录指向库并包含我从“http://www.x.org/archive/X11R6.8.1/src-single/X11R6.8.1-src.tar.bz2”收到的文件,其中我出口到家/ vantage / QT / xc /。

I have been following the below article, attempting to work through the errors but I am still receiving the issue with Xlib. "http://qt-project.org/forums/viewthread/17193"

我一直在关注下面的文章,试图解决错误,但我仍然收到Xlib的问题。 “http://qt-project.org/forums/viewthread/17193”

Any direction or assistance would be greatly appreciated.

任何方向或协助将不胜感激。

Thank you in advance

先感谢您

1 个解决方案

#1


0  

I think you should try to provide all these installed libs i.e. libX11 etc. in qmake.config file in Qt source. once you include cross compiled libs and headers then it should work.

我想你应该尝试在Qt源代码中的qmake.config文件中提供所有这些已安装的库,即libX11等。一旦你包含交叉编译的库和标题,它应该工作。

#1


0  

I think you should try to provide all these installed libs i.e. libX11 etc. in qmake.config file in Qt source. once you include cross compiled libs and headers then it should work.

我想你应该尝试在Qt源代码中的qmake.config文件中提供所有这些已安装的库,即libX11等。一旦你包含交叉编译的库和标题,它应该工作。