[software development] 求个思路,deepin20.9下使用Qt交叉编译报错
Tofloor
poster avatar
156******62
deepin
2023-08-10 00:41
Author

缘由:同事们可以在ubuntu上交叉编译过,是交叉编译成Qt5.9的arm版本。

但在deppin上交叉编译的时候检查报错

image.png

我交叉编译的Qt-5.9.0版本里面应该没这个包,但重点是Ubuntu上他们也没这个包就行。

附上arm交叉编译的pro文件

contains(QT_ARCH, arm){
message("arm, need link sdk lib")
DEFINES += A40
SOURCES += \
        sdk/src/ls_ctrl.c \
        sdk/src/mixer.c \
        sdk/src/tinymix.c

HEADERS += \
        sdk/include/hwdisp2.h \
        sdk/include/Mutex.h \
        sdk/include/Errors.h \
        sdk/include/typedef.h \
        sdk/include/ls_ctrl.h \
        sdk/include/asoundlib.h \
        sdk/include/android_reboot.h \
        sdk/include/log.h \
        sdk/include/logd.h \
        sdk/android/log.h \
        sdk/include/uio.h
# 项目编译时候链接依赖的库
LIBS += -L$$PWD/sdk/lib -lsdk_disp
}
else{
message("x86")
}

目前没啥思路,在pro里面加入了本地的include文件(/usr/include)的话,就会出现更多的报错。

就比如,网上出现的https://blog.csdn.net/oZuoZuo789/article/details/122407285,但这个我也没看懂。

下面附上加了Include路径之后的1000多个报错

image.png

Reply Favorite View the author
All Replies
忘记、过去
deepin
2023-08-10 00:53
#1

sudo apt install libgles-dev 试试,这个包里提供了这个头文件

Reply View the author
156******62
deepin
2023-08-10 01:02
#2
忘记、过去

sudo apt install libgles-dev 试试,这个包里提供了这个头文件

试了的,还把头文件放入了Qt5.9.0目录下,但这玩意编译又会报接下来我附上的最后一张图那样的错误

Reply View the author
fuuko
deepin
2023-08-10 01:05
#3

你实在不行可以拉个ubuntu的docker,把你同事的那坨环境给搞过来,因为交叉编译工具链确实很复杂,不好进行配置doubt

Reply View the author
156******62
deepin
2023-08-10 01:23
#4
fuuko

你实在不行可以拉个ubuntu的docker,把你同事的那坨环境给搞过来,因为交叉编译工具链确实很复杂,不好进行配置doubt

这个也行,我试下

Reply View the author
W2J
deepin
2023-08-10 01:29
#5

试试给IncludePath和DependPath添加QtANGLE: $(QTDIR)\include\QtANGLE;

Reply View the author