您的位置:首页 > 编程语言 > Qt开发

qt-everywhere-opensource-src-5.6.2 编译

2017-11-24 10:01 375 查看
1、http://download.qt.io/official_releases/qt/5.6/5.6.2/single/ 下载源码,解压。

2、QMAKESPEC 环境变量的设置,指定QT/qtbase/mkspecs下编译器描述文件夹的路径

3、mkspecs下创建自己服务器交叉编译器描述目录,我的目录为xilinx,所以为arm-xilinx。。。,直接复制linux-arm-gnueabi-g++/下的qmake.conf 和 qplatformdefs.h文件到自己目录下,修改路径下编译器名。

4、经测试,指定库可在1、在.configure -L path -I lib,指定外部库文件,没有生效,具体原因待查。指定路径方法2:在qmake.conf通过Qmake_incdir和qmake_libdirl来指定。3 通过pkg-config
来配置路径:export PKG_CONFIG_LIBDIR=${DFB_DIR}/lib:$PKG_CONFIG_LIBDIR
export PKG_CONFIG_PATH=${DFB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=${DFB_DIR}/lib:$LD_LIBRARY_PATH

error:


错误:1、Relocations in generic ELF (EM: 40):

重新解压 || make distclean || make clean.

2、 tslib安装失败:

qmake.conf交叉编译路径指定问题 || tslib库路径指定不对。

3、make install出错:极有可能是build.sh中没有指定不编译没有源码的库(自己需要去网站下载对应的源码,编译成.so,并指定路径。比如,freetype等,库路径指定方法如上4)。

4、在寻找库的时候跳过(/usr/bin/ld: skipping incompatible),我遇到的问题是,在qmake.conf中指定的编译链有问题。

注意:    在qmake.conf通过CROSS_CMPILE指定交叉编译链注意路径,不行则直接写绝对路径(交叉编译链的名字)。如果环境变量有问题,直接用环境变量指定交叉编译链会出问题。

步骤1、

建立.build.sh脚本在源码路径下,并执行。

build.sh脚本内容。其中tslib freetype需要添加外部库。

export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig

DFB_DIR=..QT5/lib

./configure \

-prefix ../qt_arm \

-confirm-license \

-opensource \

-release \

-static \

-make libs \

-gui \

-widgets \

-xplatform linux-arm-gnueabi-g++ \

-optimized-qmake \

-pch \

-no-sql-sqlite \

-system-libpng \

-system-freetype \

-system-libjpeg \

-no-zlib \

-no-gif \

-no-libjpeg \

-no-libpng \

-qt-freetype \

-no-xinput2 \

-no-pulseaudio \

-no-gtkstyle \

-no-alsa \

-no-icu \

-tslib \

-linuxfb\

-no-egl -no-eglfs -no-opengl \

-no-sse2 \

-no-openssl \

-no-cups \

-no-alsa \

-no-glib \

-no-dbus \

-no-xcb \

-no-qml-debug \

-no-xcursor -no-xfixes -no-xrandr -no-xrender \

-no-separate-debug-info \

-nomake examples -nomake tools -nomake tests -no-iconv \

-I/${DFB_DIR}/include \

-L/${DFB_DIR}/lib -lts
2、make

3、make install
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: