为beagleboard构建嵌入式QT5

时间:2015-02-04 11:28:10

标签: linux embedded qt5

我为beagleboard构建嵌入式QT5时遇到了一些错误

  1. QT配置 ./configure -prefix /home/nirvana/ti-sdk-beagleboard-06.00.00.00/qt-everywhere-opensource-src-5.4.0-master/Out -release -opensource -platform linux-g ++ - 32 -xplatform qws / linux-TIarmv7-sgx-g ++ -no-pch -no-glib -no-cups -no-nis -no-gtkstyle -opengl es2 -confirm-license -no-xcb -no-wayland -no-glib -verbose -eglfs -no-c ++ 11 -no-accessibility -system-zlib -qt-libpng -qt-libjpeg -no-openvg -widgets -no-tslib -make libs -make tools -device-option CROSS_COMPILE = / home / nirvana / TI-SDK-的BeagleBoard-06.00.00.00 / Linux的的devkit / sysroots / i686的-阿拉戈-的Linux的/ usr /斌/臂-Linux的gnueabihf -
  2. 2.QMAKESPEC 出口QMAKESPEC =""

    1. make -j4

      -L / home / nirvana / ti-sdk-beagleboard-06.00.00.00 / Graphics_SDK_4_09_00_01 / gfx_rel_es5.x / -L / home / nirvana / ti-sdk-beagleboard-06.00.00.00 / tslib-1.0 / out / lib -L / home / nirvana / ti-sdk-beagleboard-06.00.00.00 / qt-everywhere-opensource-src-5.4.0-master / qtbase / lib -lQt5Core -lEGL -lGLESv2 -lGLES_CM -lIMGegl -lsrv_um -lusc -lts -lpthread -lqtharfbuzzng -L / home / nirvana / ti-sdk-beagleboard-06.00.00.00 / Graphics_SDK_4_09_00_01 / gfx_rel_es5.x / -L / home / nirvana / ti-sdk-beagleboard-06.00.00.00 / tslib-1.0 / out / lib -lts -lz -lEGL -lGLESv2 -lGLES_CM -lIMGegl -lsrv_um -lusc .obj / qimage.o:在函数QImage::fill(unsigned int)': qimage.cpp:(.text+0x3926): undefined reference to中qt_memfill32(unsigned int *,unsigned int,int)&#39; qimage.cpp :(。text + 0x3a7a):对qt_memfill32(unsigned int*, unsigned int, int)' .obj/qimage_conversions.o: In function的未定义引用qInitImageConversions()&#39;: qimage_conversions.cpp :(。text + 0x3458):对convert_RGB888_to_RGB32_neon(QImageData*, QImageData const*, QFlags<Qt::ImageConversionFlag>)' .obj/qdrawhelper.o: In function的未定义引用void qt_rectfill(unsigned int *,unsigned int,int,int,int,int,int)&#39;: qdrawhelper.cpp :(。text + 0x6578):对qt_memfill32(unsigned int*, unsigned int, int)' .obj/qdrawhelper.o: In function的未定义引用void qt_bitmapblit_template(QRasterBuffer *,int,int,unsigned int,unsigned char const *,int,int,int)&#39;: qdrawhelper.cpp :(。text + 0x6caa):未定义引用qt_memfill32(unsigned int*, unsigned int, int)' qdrawhelper.cpp:(.text+0x6ccc): undefined reference to qt_memfill32(unsigned int *,unsigned int,int)&#39; qdrawhelper.cpp :(。text + 0x6dce):未定义引用qt_memfill32(unsigned int*, unsigned int, int)' qdrawhelper.cpp:(.text+0x6df6): undefined reference to qt_memfill32(unsigned int *,unsigned int,int)&#39; .obj / qdrawhelper.o:qdrawhelper.cpp :(。text + 0x6e0e):对qt_memfill32(unsigned int*, unsigned int, int)' follow .obj/qdrawhelper.o: In function更多未定义的引用qInitDrawhelperAsm()&#39;: qdrawhelper.cpp :(。text + 0x1b6f8):对qt_blend_rgb32_on_rgb32_neon(unsigned char*, int, unsigned char const*, int, int, int, int)' qdrawhelper.cpp:(.text+0x1b6fc): undefined reference to的未定义引用qt_blend_argb32_on_argb32_neon(unsigned char *,int,unsigned char const *,int,int,int,int)&#39; qdrawhelper.cpp :(。text + 0x1b700):对qt_blend_argb32_on_rgb16_neon(unsigned char*, int, unsigned char const*, int, int, int, int)' qdrawhelper.cpp:(.text+0x1b704): undefined reference to的未定义引用qt_blend_rgb16_on_argb32_neon(unsigned char *,int,unsigned char const *,int,int,int,int)&#39; qdrawhelper.cpp :(。text + 0x1b708):未定义引用qt_blend_rgb16_on_rgb16_neon(unsigned char*, int, unsigned char const*, int, int, int, int)' qdrawhelper.cpp:(.text+0x1b710): undefined reference to qt_scale_image_argb32_on_rgb16_neon(unsigned char *,int,unsigned char const *,int,int,QRectF const&amp;,QRectF const&amp;,QRect const&amp;,int) &#39; qdrawhelper.cpp :(。text + 0x1b714):对qt_scale_image_rgb16_on_rgb16_neon(unsigned char*, int, unsigned char const*, int, int, QRectF const&, QRectF const&, QRect const&, int)' qdrawhelper.cpp:(.text+0x1b718): undefined reference to的未定义引用qt_transform_image_argb32_on_rgb16_neon(unsigned char *,int,unsigned char const *,int,QRectF const&amp;,QRectF const&amp;,QRect const&amp ;,QTransform const&amp ;,, INT)&#39; qdrawhelper.cpp :(。text + 0x1b720):未定义引用qt_transform_image_rgb16_on_rgb16_neon(unsigned char*, int, unsigned char const*, int, QRectF const&, QRectF const&, QRect const&, QTransform const&, int)' qdrawhelper.cpp:(.text+0x1b724): undefined reference to qt_alphamapblit_quint16_neon(QRasterBuffer *,int,int,unsigned int,unsigned char const *,int,int,int,QClipData const *)&#39; qdrawhelper.cpp :(。text + 0x1b72c):未定义引用qt_blend_argb32_on_argb32_scanline_neon(unsigned int*, unsigned int const*, int, unsigned int)' qdrawhelper.cpp:(.text+0x1b734): undefined reference to comp_func_solid_SourceOver_neon(unsigned int *,int,unsigned int,unsigned int)&#39; qdrawhelper.cpp :(。text + 0x1b738):未定义引用comp_func_Plus_neon(unsigned int*, unsigned int const*, int, unsigned int)' qdrawhelper.cpp:(.text+0x1b73c): undefined reference to qt_destFetchRGB16_neon(unsigned int *,QRasterBuffer *,int,int,int)&#39; qdrawhelper.cpp :(。text + 0x1b740):未定义引用qt_destStoreRGB16_neon(QRasterBuffer*, int, int, unsigned int const*, int)' qdrawhelper.cpp:(.text+0x1b748): undefined reference to qt_memrotate90_16_neon(unsigned char const *,int,int,int,unsigned char *,int)&#39; qdrawhelper.cpp :(。text + 0x1b74c):未定义引用qt_memrotate270_16_neon(unsigned char const*, int, int, int, unsigned char*, int)' qdrawhelper.cpp:(.text+0x1b750): undefined reference to qt_fetch_radial_gradient_neon(unsigned int *,Operator const *,QSpanData const *,int,int,int)&#39; .obj / qdrawhelper.o:在函数void qt_rectfill<unsigned int>(unsigned int*, unsigned int, int, int, int, int, int)': qdrawhelper.cpp:(.text+0x6590): undefined reference to qt_memfill32(unsigned int *,unsigned int,int)&#39; .obj / qdrawhelper.o:在函数rasterop_solid_NotSource(unsigned int*, int, unsigned int, unsigned int)': qdrawhelper.cpp:(.text+0x65f4): undefined reference to qt_memfill32(unsigned int *,unsigned int,int)&#39; .obj / qdrawhelper.o:在函数comp_func_solid_Source(unsigned int*, int, unsigned int, unsigned int)': qdrawhelper.cpp:(.text+0x67a2): undefined reference to qt_memfill32(unsigned int *,unsigned int,int)&#39; .obj / qdrawhelper.o:在函数comp_func_Clear(unsigned int*, unsigned int const*, int, unsigned int)': qdrawhelper.cpp:(.text+0x6906): undefined reference to qt_memfill32(unsigned int *,unsigned int,int)&#39; .obj / qdrawhelper.o:在函数comp_func_solid_Clear(unsigned int*, int, unsigned int, unsigned int)': qdrawhelper.cpp:(.text+0x6a6a): undefined reference to qt_memfill32(unsigned int *,unsigned int,int)&#39; .obj / qdrawhelper.o:qdrawhelper.cpp :(。text + 0x6c1e):更多未定义的引用qt_memfill32(unsigned int*, unsigned int, int)' follow collect2: error: ld returned 1 exit status make[3]: *** [../../lib/libQt5Gui.so.5.4.0] Error 1 make[3]: Leaving directory / home / nirvana / ti-sdk-beagleboard-06.00.00.00 / qt-everywhere-opensource-src- 5.4.0主/ qtbase / SRC / GUI&#39; make [2]: * [sub-gui-make_first]错误2 make [2]:离开目录/home/nirvana/ti-sdk-beagleboard-06.00.00.00/qt-everywhere-opensource-src-5.4.0-master/qtbase/src' make[1]: *** [sub-src-make_first] Error 2 make[1]: Leaving directory / home / nirvana / ti-sdk-beagleboard-06.00.00.00 / qt-everywhere-opensource-src-5.4.0-master / qtbase&#39; make:* [module-qtbase-make_first]错误2 必杀技@必杀技:〜/ TI-SDK-的BeagleBoard-06.00.00.00 / QT-无处不开源-SRC-5,4,0-主$

    2. 有什么理想吗?

      非常感谢

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,只是强迫Qt编译ARM处理器的“neon”支持,只需在“./configure”之后修改“qtbase / mkspecs / qmodule.pri”中的以下行:

host_build {
    QT_CPU_FEATURES.i386 =
} else {
    QT_CPU_FEATURES.arm = neon
}