QT开发问题与解决办法总结(持续总结)

文章总结了在Ubuntu20.04环境下遇到的QT开发问题,包括QTCreator启动问题、动态链接库错误、编译器选择、软件移植配置和维护工具初始化失败等,并提供了相应的解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题1:ubuntu20.04 上使用在线安装方式安装QT,QT Creator后无法启动问题

解决办法:如下博客

这个博客提供了详细的说明、分析和解决办法
主要是因为报错:libxcb-cursor. so. 0: cannot open shared object file: No such file or directory
解决办法:sudo apt install libxcb-cursor0

问题2:libQt5WebEngineCore.so: .dynsym local symbol at index 3 (>= sh_info of 3)

这个问题是动态链接库的问题,我尝试着在pro文件添加:

 CONFIG +=use_lld_linker

此问题解决了,又出现了新的问题:Linking issue with WebEngine, Qt5Positioning and math functions __atan2_finite __acos_finite
因此另寻他法,使用如下指令,但在次之前先要安装lld

sudo apt-get install lld
sudo ln -sf /usr/bin/x86_64-linux-gnu-ld.gold /usr/bin/ld
  • ldd 是一个用于显示一个二进制文件所依赖的动态链接库的命令。ldd 命令会列出该二进制文件所依赖的动态链接库,并显示它们的路径。这些动态链接库包括操作系统提供的共享库(如 libc.so、libpthread.so)以及其他自定义的共享库。
  • sudo ln -sf /usr/bin/x86_64-linux-gnu-ld.gold /usr/bin/ld的含义/usr/bin/x86_64-linux-gnu-ld.gold 是一个 GNU Linker 的可执行文件,它用于将目标文件链接成可执行文件。而 /usr/bin/ld 是 Linux 系统默认的链接器。通过这个命令,我们可以将系统默认的链接器路径指向 GNU Linker,以便使用 GNU Linker 进行更高效的链接操作。

问题3:Qt工程报错👎 error: Cannot run compiler ‘clang++‘

问题原因:我的qt项目原是在window平台 minGW编译器编译的,转到ubuntu后使用gcc编译器,但是GCC编译器有两种g++和clang,因此要在kit管理中更换编译器
在这里插入图片描述更改编译器:CC++GCC编译器

问题4: Ubuntu系统Qt软件安装包移植到系统的配置

下载Qt比较费时,就想着把之前下载安装的Qt软件复制粘贴到新的Ubuntu系统上,主要是作环境变量的设置,本文参考linux ubuntu安装qtcreater,配置qt环境到可运行qt项目,操作步骤如下:

  1. 安装C/C++编译环境
    sudo apt-get install build-essential

  2. 配置QT环境变量
    与修改Windows环境变量差不多

    • 修改 /etc/profile 文件
      sudo vim /etc/profile
    • 文件结尾追加(注意这里要换成自己的路径)
      export QT_PATH=/opt/Qt/5.15.2/gcc_64
      export QT_CREATOR_PATH=/opt/Qt/Tools/QtCreator
      export LD_LIBRARY_PATH=$QT_PATH/lib:$LD_LIBRARY_PATH
      export PATH=$PATH:$QT_PATH/bin:$QT_CREATOR_PATH/bin
      
    • 刷新环境变量
      source /etc/profile
  3. 在终端下执行qtcreator命令,应该会报xcb的错误

    这里产生xcb错误的原因是不一样的,参考是libxcb-xinerama.so.o的问题

    Got keys from plugin meta data ("xcb") QFactoryLoader::QFactoryLoader() checking directory path "/opt/Qt/Tools/QtCreator/bin/platforms" 
    Cannot load library /opt/Qt/Tools/QtCreator/lib/Qt/plugins/platforms/libqxcb.so
    ... (libxcb-xinerama.so.0: cannot open shared object file: No such file or directory)"qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in   
    
  4. 解决xcb导致qtcreator无法启动问题,安装缺失的库

    • 使用apt搜索这个库
      可以找到两个
      apt search libxcb-xinerama
      libxcb-xinerama0/focal 1.14-2 amd64  X C Binding, xinerama extension  
      libxcb-xinerama0-dev/focal 1.14-2 amd64  X C Binding, xinerama extension,development files
      
      一般做开发用到的库都是 xxx-dev xxx-devel之类的
    • 安装缺失的库
      sudo apt-get install libxcb-xinerama0-dev
  5. 再次运行qtcreator
    可以正常启动了

问题5:关于Qt 构建套件(Kit) 编译器 自动识别不正确 不能修改的问题

问题描述:由于我的qt是从其他系统拷贝过来进行的环境配置后进行的qt启动,这样拷贝过来的qt软件有很多之前系统里的配置,当打开qt项目时,会让你“配置构建套件“,这时候就会发现**”Configure …“是无法点击**,查看“Qt Version”发现自动检测到的并不是我们拷贝过来的qt下的qmake可执行文件的路径,而且也无法修改。
解决办法:到qtcreator\QtProject\qtcreator 路径下找三个文件 profiles.xml qtversion.xml toolchains.xml ,打开这些文件,修改里面的路径,保存即可。

问题6:插件初始化失败: The maintenance tool at “/home/*****/Qt/MaintenanceTool” is not an executable. Check your installation.

解决办法:

在软件安装文件夹目录下使用grep命令查找制定字符串
grep -r -i "your_search_string" /path/to/search/directory
-r:遍历查找;-i:不区分大小写
在这里插入图片描述
根据搜索查找结果,更改QtCreator.ini文件内路径即可

问题7:Virtual machine monitor failed and Virtual ethernet failed

问题:系统的安全启动没有关闭
解决:参考

问题8:QT编译报错之 C2061:语法错误:标示符"xxxx"

问题:语法错误
解决:

  1. 查看是Windows(CRLF)还是Unix(LF)
    在这里插入图片描述

  2. 使用Notepad++查看报错的源码文件的编码格式,为跨平台建议改成utf-8-BOM,并在配置文件中添加配置

# 检查是否使用 MSVC 编译器
if(MSVC)
    # 添加 /utf-8 编译选项
    add_compile_options(/utf-8)
endif()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LoserChaser

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值