以Ubuntu系统为例,我自己安装的是arm-linux-gnueabi-gcc和arm-linux-gnueabi-g++,所以到了编译指令make后,出现以上错误。
经过多方查找资料,在http://bbs.csdn.net/topics/390630552?page=1找到:
知道需要去解压后文件路径的mkspecs/qws/linux-arm-g++中修改文件qmake.conf,把里面定义的编译器名称改成电脑中已安装的版本,如:
重新配置
./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.0-arm -embedded arm -lrt -little-endian
接着指令:make
ok了。解决了问题。
设置环境变量 export QT_DEBUG_PLUGINS=1重新运行程序
Cannot load library /opt/Qt-5.12.4/plugins/platforms/libqxcb.so2
输入ldd /opt/Qt-5.12.4/plugins/platforms/libqxcb.so
显示缺少 libxkbcommon,并展示其路径。
然后将显示路径中的拷贝到需要的目录中。
我用的是qt-everywhere-opensource-src-4.7.0这个版本。不同版本配置方法有些许不同,比如说配置文件的名字目录等。1.解压qt-everywhere-opensource-src-4.7.0.tar.gz
2.修改配置文件(配置文件根据你开发板和编译工具不同而不同,不清楚你什么环境,这是我以前的配置,linux-arm-gnueabi-g++是我用的交叉编译工具)
qt-everywhere-opensource-src-4.7.0/mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf文件修改为如下内容:
QMAKE_CC
QMAKE_CXX
QMAKE_LINK
QMAKE_LINK_SHLIB
QMAKE_AR
QMAKE_OBJCOPY
QMAKE_STRIP
QMAKE_INCDIR
QMAKE_LIBDIR
QMAKE_LIBS
把这配置都指定清楚,有编译器,lib等,看名字应该都能理解。
3.执行。
./configure -prefix-install -prefix /opt/qt4 \
-release -opensource -shared -embedded arm \
-no-fast -largefile -exceptions \
-stl -no-qt3support \
-xmlpatterns -no-multimedia -no-audio-backend \
-no-phonon -no-phonon-backend \
-svg -no-webkit -javascript-jit \
-script -scripttools -declarative \
-no-mmx -no-3dnow -no-sse -no-sse2 \
-qt-zlib -qt-gif -qt-libtiff \
-qt-libpng -qt-libmng -qt-libjpeg \
-no-openssl \
-xplatform qws/linux-arm-gnueabi-g++ \
-qt-mouse-tslib -qt-mouse-pc -no-mouse-linuxtp -no-neon
这里给你的例子configure,你要的肯定和我的不一样,我们需求环境都不同。每个配置项的意思不可能这里都给你说清楚,你可以--help自己理解。
4.执行make。
当然,这样你99%是编译不过的。有些文件需要根据你交叉编译环境进行修改。自己多尝试吧。我也是整了一两个个月,才慢慢知道的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)