首页| 论坛| 消息

标题:交叉编译qt5.9 使能directfb出错
作者:中古纪骑士
日期:2018-01-16 14:42
内容:

提示错误信息如下:
looking for library directfb
Trying source 0 (type pkgConfig) of library directfb ...
pkg-config use disabled globally.
=> source produced no result.
test config.gui.libraries.directfb FAILED
其中有一句是:pkg-config use disabled globally.请问有什么解决方案吗


#1 [自强不吸 01-16 16:35]
编译directfb(Directfb主要用于硬件性能较低的环境进行图形加速):
./configure -host=arm-none-linux-gnueabi -prefix=/usr/local/Directfb -with-gfxdrivers=none -enable-png -enable-jpeg -disable-tiff -enable-sdl=no -enable-gif -disable-x11 -enable-debug -sysconfdir=/etc -enable-fbdev;make;make install
三、编译Qt5.5.1
(1)、解压Qt5.5.1:
tar -zxvf qt-everywhere-opensource-src-5.5.1.tar.gz
(2)、添加directfb编译选项(在Qt配置文件中添加directfb支持始终不成功,没办法只能手动添加)
运行命令打开 platforms.pro :gedit qtbase/src/plugins/platforms/platforms.pro 在 配置linuxfb支持的后面加上directfb参数。
contains(QT_CONFIG, linuxfb): SUBDIRS += linuxfb directfb
(3)、添加directfb库和头文件路径(因为directfb的支持是手动添加,所以directfb库路径也要手动添加)
运行命令打开 directfb.pro :gedit qtbase/src/plugins/platforms/directfb/directfb.pro
#LIBS += $$QMAKE_LIBS_DIRECTFB
#QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_DIRECTFB
LIBS += -L/usr/local/Directfb/lib/ -ldirect -ldirectfb -lfusion
INCLUDEPATH += /usr/local/Directfb/include/directfb -D_REENTRANT
(4)由于运行Qt的时候如果界面上有文字会出现以下错误: QDirectFBTextureGlyphCache: Unsupported source texture image format.
运行命令打开 qdirectfbblitter.cpp : gedit qtbase/src/plugins/platforms/directfb/qdirectfbblitter.cpp
修改如下:
default:
desc.pixelformat = DSPF_A8;
//qFatal("QDirectFBTextureGlyphCache: Unsupported source texture image format.");
break;
(5)、配置编译器支持
运行命令打开 qmake.conf : gedit qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
修改如下:
QT_QPA_DEFAULT_PLATFORM = directfb
QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-a
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
QMAKE_INCDIR += /usr/local/tslib/include
QMAKE_LIBDIR += /usr/local/tslib/lib
QMAKE_LIBS += -lts
QMAKE_INCDIR += /usr/local/Directfb/include
QMAKE_LIBDIR += /usr/local/Directfb/lib
QMAKE_LIBS += -ldirec ..
#2 [自强不吸 01-16 16:35]
这是我之前编译5.5的
#3 回 自强不吸 的帖子 [中古纪骑士 01-19 11:48]
自强不吸:编译directfb(Directfb主要用于硬件性能较低的环境进行图形加速):
./configure -host=arm-none-linux-gnueabi -prefix=/usr/local/Directfb -with-gfxdrivers=none -enable-png -enable-jpeg -disable-tiff -enable-sdl=no -enable-gif -disable-x11 -enable-debug -sysconfdir= ..(2018-01-16 16:35)
参考这个编译,在加上两句环境变量确实是编译成功了,export PKG_CONFIG_LIBDIR=/usr/local/Directfb/lib/pkgconfig/
export PKG_CONFIG_SYSROOT_DIR=/home/zyyt/crosstools/arm-2014.05/,请问directfb,怎么测试,我运行directfb下dfbinfo时出错了,报告了段错误
#4 回 自强不吸 的帖子 [中古纪骑士 01-19 11:50]
自强不吸:编译directfb(Directfb主要用于硬件性能较低的环境进行图形加速):
./configure -host=arm-none-linux-gnueabi -prefix=/usr/local/Directfb -with-gfxdrivers=none -enable-png -enable-jpeg -disable-tiff -enable-sdl=no -enable-gif -disable-x11 -enable-debug -sysconfdir= ..(2018-01-16 16:35)
谢谢哈,有没有测试directfb方法,我这边qt显示利用directfb出错了

回复 发表
主题 版块