在arm开发板上运行qt程序,在v853上运行。提前通过交叉编译得到了qt库文件,在window上写了qt测试代码!
编译参考:在全志V853开发板试编译QT测试_v853 qt-优快云博客
交叉编译得到的qt库文件;

1.1 在Linux下交叉编译得到qt程序
创建Makefile文件
TARGET=controlmenu_v853
QT_ENV=qt_compile_env.config
BUILD_DIR=build
SOURCE_DIR=controlmenu_v853
all: $(BUILD_DIR)
@echo ""
@echo "Building for target: arm-linux"
@echo "Current directory: $(PWD)"
@echo "SOURCE_DIR: $(SOURCE_DIR)"
@echo "TARGET: $(TARGET)"
@echo ""
@cd $(BUILD_DIR) && \
source ../$(QT_ENV) && \
qmake ../$(SOURCE_DIR)/$(TARGET).pro && \
make && \
echo "" && \
echo "Build completed successfully for target: arm-linux"
$(BUILD_DIR):
mkdir -p $@
clean:
@if [ -d $(BUILD_DIR) ]; then \
cd $(BUILD_DIR) && make clean; \
fi
distclean:
rm -rf $(BUILD_DIR)
.PHONY: all clean distclean
1.2 创建编译环境配置文件 qt_compile_env.config
export QTDIR=/opt/qt_5.12.9_v853
export PATH=$QTDIR/bin:$PATH
export CROSS_COMPILE=arm-openwrt-linux-
export CC=${CROSS_COMPILE}gcc
export CXX=${CROSS_COMPILE}g++
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QMAKESPEC=$QTDIR/mkspecs/linux-arm-gnueabi-g++
QTDIR --> 为交叉编译出来的qt库文件的路径,需要根据实际的修改;
CROSS_COMPILE --> 交叉编译工具的前缀
CC,CXX --> C、C++交叉编译工具;
LD_LIBRARY_PATH --> qt库的lib路径
QMAKESPEC --> 目标平台; 根据实际修改
1.3 交叉编译qt程序
在linux下创建目录,将qt程序、Makefile、qt_compile_env.config放到目录下

然后在目录下执行make,就可以得到执行qt执行文件;qt可执行文件在build目录下
![]()
1.4 创建qt启动脚本 qt_run.sh
#!/bin/sh
mkdir -p /tmp/runtime-root
chmod 0700 /tmp/runtime-root
export QT_PLUGIN_PATH=/mnt/UDISK/qt_arm_5.12.9/plugins
export LD_LIBRARY_PATH=/mnt/UDISK/qt_arm_5.12.9/lib
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:size=800x480:mmSize=800x480:offset=0x0:tty=/dev/tty1
#export QT_QPA_FONTDIR=/mnt/UDISK/qt_arm_5.12.9/fonts
#export QT_QPA_GENERIC_PLUGINS="tslib,evdevmouse:/dev/input/event1,evdevkeyboard:/dev/input/event2"
export QT_QPA_FONTDIR=/mnt/UDISK/qt_arm_5.12.9/fonts
export QT_QWS_FONTDIR=/mnt/UDISK/qt_arm_5.12.9/fonts
export QT_QPA_EVDEV_KEYBOARD_PARAMETERS=/dev/input/event0
export XDG_RUNTIME_DIR=/tmp/runtime-root
./controlmenu_v853
QT_PLUGIN_PATH、LD_LIBRARY_PATH --> qt库的文件路径(将交叉编译qt库的plugins、lib放到arm板上);根据实现的路径修改
./controlmenu_v853 --> 启动qt可执行文件
QT_QPA_FONTDIR --> 字体库路径;根据实际修改;
1.5 arm板上运行验证
将qt库的lib、plugins放到arm板上,路径与 QT_PLUGIN_PATH、LD_LIBRARY_PATH 对应上;
目前字体放在一起;

将qt执行文件,qt_run.sh文件传到arm板上;如下:一般放在 /usr下在建一个目录,现在只是测试

然后qt执行文件改权限, chmod +x controlmenu_v853 或者 chmod 0777 controlmenu_v853
在该目录下执行启动脚本: ./qt_run.sh
chmod +x controlmenu_v853
./qt_run.sh
1071

被折叠的 条评论
为什么被折叠?



