如何解决Qt6交叉编译STM32MP157 perl错误
我正在为 STM32MP157 构建 Qt6
Qt源码下载v6.1.2 平台:Ubuntu 18.04.5 LTS STM32 SDK 版本:v2.0.0
宿主机同样构建成功(生成qt宿主机工具) 但是,当我使用 stm32mp157 的工具链文件运行它时,它在 syncqt.pl 第 55 行上的 perl 失败并显示错误:
use English qw(-no_match_vars );
错误信息如下:
-- Running syncqt for module: 'QtCore'
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),LC_ALL = (unset),LC_MEASUREMENT = "ur_PK",LC_PAPER = "ur_PK",LC_MONETARY = "ur_PK",LC_NAME = "ur_PK",LC_ADDRESS = "ur_PK",LC_NUMERIC = "ur_PK",LC_TELEPHONE = "ur_PK",LC_IDENTIFICATION = "ur_PK",LC_TIME = "ur_PK",LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
Can't locate English.pm in @INC (you may need to install the English module) (@INC contains: //usr/lib/perl5/site_perl/5.30.1 //usr/lib/perl5/vendor_perl/5.30.1 //usr/lib/perl5/5.30.1 /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/sysroots/x86_64-ostl_sdk-linux/usr/lib/perl5/site_perl/5.30.1/x86_64-linux /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/sysroots/x86_64-ostl_sdk-linux/usr/lib/perl5/site_perl/5.30.1 /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/sysroots/x86_64-ostl_sdk-linux/usr/lib/perl5/vendor_perl/5.30.1/x86_64-linux /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/sysroots/x86_64-ostl_sdk-linux/usr/lib/perl5/vendor_perl/5.30.1 /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/sysroots/x86_64-ostl_sdk-linux/usr/lib/perl5/5.30.1/x86_64-linux /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/sysroots/x86_64-ostl_sdk-linux/usr/lib/perl5/5.30.1 .) at /home/dyasin/repos/qt6/qtbase/libexec/syncqt.pl line 55.
BEGIN failed--compilation aborted at /home/dyasin/repos/qt6/qtbase/libexec/syncqt.pl line 55.
CMake Error at qtbase/cmake/QtModuleHelpers.cmake:206 (message):
Failed to run syncqt,return code: 2
Call Stack (most recent call first):
qtbase/src/corelib/CMakeLists.txt:29 (qt_internal_add_module)
-- Configuring incomplete,errors occurred!
See also "/home/dyasin/repos/qt6/build/CMakeFiles/CMakeOutput.log".
See also "/home/dyasin/repos/qt6/build/CMakeFiles/CMakeError.log".
加载English.pm失败的地方
我注意到 perl 在为 stm 编译时使用不同版本的特殊性。所以构建系统使用的是来自 stm SDK 的 perl。而且STM SDK没有英文.pm
我的问题是我们如何从主机系统使用 perl?
解决方法
我的错误。在我的工具链文件中,我已经覆盖了“CMAKE_PROGRAM_PATH”以查找 SDK 编译器和其他程序,我必须对其进行调整,以便它可以从主机系统中找到 perl。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。