VStudio2022导出Qt项目在Linux的Qtcreator中运行修复错误记录

公司项目中的代码在VStudio2022中编写,交给我需要移植Linux的Qtcreator中,记录一下移植过程中的遇到的坑,按照错误顺序由高到低记录一下,边尝试边解决边记录,写作方面没有逻辑,每个人项目环境不一样,多找多试!

错误: C1083: 无法打开包括文件: “../../../qtmqtt/src/mqtt/qmqttclient.h”: No such file or directory

错误原因:Qt的QtMqtt模块配置错误,路径和文件错误。

解决方案参考教程: 

错误:error: C1083: 无法打开包括文件: “QtMqtt/QMqttClient”: No such file or directory

 错误:: error: C1083: 无法打开包括文件: “json/reader.h”: No such file or directory

错误原因:Qtcreator的读取目录的路径不一致,设置正确的头文件路径。

解决:头文件应修改为正确路径下:#include <include/json/reader.h>

错误: error: 'StdAfx.h' file not found <U+FEFF>#include "StdAfx.h"

 错误原因:引用头文件没有大小写,在vstudio中不报错,Qtcreator中报错,例如还有下面的Qtime应改成QTime。注意在Visual Studio中,引用头文件时通常不区分大小写,但是在C++中大小写敏感是一种语言特性,所以养好习惯哟!

错误: Could not decode "resource.h" with "UTF-8"-encoding. Editing not possible. 

 错误原因:windows和Linux的编码格式不一致,在Windows平台下,默认的汉字编码格式是GBK(gb2312), Linux系统通常使用UTF-8编码格式。

解决方案:

QT界面:Error: Could not decode “*.cpp“ with “UTF-8“ - encoding. Editing not possible-CSDN博客

错误:fatal error: 'atlstr.h' file not found #include <atlstr.h>

 错误原因:项目在Vstudio中引用了下面的msvc的头文件,但是linux中只有Gcc的编译器,没有msvc的头文件。

解决方案:

1、将引用的msvc的头文件作为Qt工程外的include中头文件全部添加项目;(错误,行不通)

解释:msvc的头文件中有许多windows的关键字,GCC无法识别,导致报错会更多

2、注释MSVC引用,部分手工代替写(下下策,没有找到合适的方法了)

参考:Qt添加工程外的头文件和库的理解_qt工程文件为什么要添加-CSDN博客

错误:QtMqtt/QMqttClient: No such file or directory #include <QtMqtt/QMqttClient>

 错误原因:linux的Qt没有安装QtMqtt模块。

解决方案:Qtmqtt编辑后的lib库文件加入到项目中,也就是将lib格式文件换成so格式文件,通过Qtcreator添加外部库就行。

错误:error: /opt/Qt5.12.9/5.12.9/gcc_64/lib/libQt5Network.so: No such file or directory

 错误原因:不清楚,项目Qt版本为Qt5.14的,现在ubuntu安装的是Qt5.15的,报错是这个版本原因有点确认!

找到了找到了!重新理了一遍,发现是添加动态库lib中模块使用了Qt5.12.9的,动态库是从其他机器上考过来的,建议最好自己编译生成!

其他修改内容:

  •  修改条件编辑

由#ifdef Win32修改为#ifdef __linux__

  • 引用文件大小写名称

vstudio中引用文件的时候大小写不敏感,在Qtcreator中对引用名称是敏感的,这个报错编译器很快就能检查出来,不过C++是大小写敏感特性,平常写代码的时候就要注意,不然给后期留麻烦!

  • 编译器的过渡

项目中在vstudio中使用了msvc中的一些库,这个部分也是在移植过程中最难解决了,MSVC是微软针对windows的开发库,ubuntu中没有这些库呀,本想着直接将头文件一起引过去,重点是这些库只能在windows用,对这些引用MSVC的库全部处理,能注释就注释,能改写就改写!后面项目推荐GCC编译器哦!

  • 代码改写

这部分根据项目移植的要求进行部分移植就可。

最后,项目环境移植成功了,花费一个礼拜左右,问题记录有些没有全部记录,重点解决问题为先了,请根据实际情况参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/581693.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flask 账号管理列表

Flask 账号管理列表 web/controllers/account/Account.py /index route_account Blueprint( account_page,__name__ )route_account.route( "/index" ) def index():resp_data {}req request.valuespage int( req[p] ) if ( p in req and req[p] ) else 1qu…

云服务器接入高防IP无法访问的原因以及处理方式

云服务器&#xff0c;也称为Elastic Compute Service&#xff08;ECS&#xff09;&#xff0c;是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。它是一种虚拟化的服务器&#xff0c;运行公共的操作系统和软件&#xff0c;并允许用户通过网络进行访问。用户无需提前购…

PyTorch实战:基于Seq2seq模型处理机器翻译任务(模型预测)

文章目录 引言数据预处理加载字典对象en2id和zh2id文本分词 加载训练好的Seq2Seq模型模型预测完整代码结束语 引言 随着全球化的深入&#xff0c;翻译需求日益增长。传统的人工翻译方式虽然质量高&#xff0c;但效率低&#xff0c;成本高。机器翻译的出现&#xff0c;为解决这…

PYTHON基础:数据可视化绘图

python数据可视化入门 –常见的四种数据图形绘制 数据可视化在数据分析和数据科学中起着重要的作用。它可以帮助我们更直观地理解和解释数据&#xff0c;发现数据中的模式、趋势和异常。 在数据可视化中&#xff0c;常用的图表类型包括折线图、散点图、直方图和饼图&#xff…

为什么要运营海外社媒?海外云手机能发挥什么作用?

基于海外社媒在全球范围内拥有的大量流量&#xff0c;海外社媒运营成为了品牌推广、内容创作和用户互动的重要途径。本文将探讨海外社媒运营的重要性&#xff0c;并介绍海外云手机在这一过程中的卓越帮助。 海外社媒运营的重要性 首先&#xff0c;海外社媒运营有助于企业扩大品…

Qt高质量的开源项目合集

文章目录 1.Qt官网下载/文档2.第三方开源 1.Qt官网下载/文档 Qt Downloads Qt 清华大学开源软件镜像站 Qt 官方博客 2.第三方开源 记录了平常项目开发中用到的第三方库&#xff0c;以及一些值得参考的项目&#xff01; Qt AV 基于Qt和FFmpeg的跨平台高性能音视频播放框…

EasyExcel导出

1.简介 官网&#xff1a;EasyExcel官方文档 - 基于Java的Excel处理工具 | Easy Excel 2.案例 2.1 实现的效果 效果图如下&#xff1a; 2.2 实现步骤 三种情景&#xff0c;主要是表头和数据有区别&#xff0c;简列实现步骤如下&#xff1a; 2.3 具体实现 2.3.1 前置-依赖导入…

【LeetCode-剑指offer】--3.比特位计数

3.比特位计数 class Solution {public int[] countBits(int n) {int[] bites new int[n 1];for(int i 0 ; i < n;i){bites[i] Count(i);}return bites;}public int Count(int x){int count 0;while(x > 0){x & (x - 1);count;}return count;} }

Python入门学习篇(十)——函数定义函数传参方式

1 相关定义和概念 1.1 函数的理解 一段被封装的可以重复调用的代码。 1.2 函数定义语法结构 def 函数名(形参1,形参2):要封装的逻辑代码 # 注意:函数可以有返回值也可以没有返回值,没有返回值的结果是None1.3 函数调用的语法结构 函数名(形参1,形参2)1.4 简单实例 1.4.1 …

同义词替换降低论文相似度的注意事项 papergpt

大家好&#xff0c;今天来聊聊同义词替换降低论文相似度的注意事项&#xff0c;希望能给大家提供一点参考。 以下是针对论文重复率高的情况&#xff0c;提供一些修改建议和技巧&#xff0c;可以借助此类工具&#xff1a; 标题&#xff1a;同义词替换降低论文相似度的注意事项 …

计算 10亿 的和,js 和 c 的处理时长对比

计算 10亿 的和&#xff0c;js 和 c 的处理时长对比 js 4.17s let sum 0; let start new Date().getTime(); for (let i0;i<1000000000; ii1){sum sum i; } let stop new Date().getTime(); console.log((stop - start)/1000, sum);结果&#xff1a; c 3.65s #in…

Windows搭建FTP服务器教学以及计算机端口介绍

目录 一. FTP服务器介绍 FTP服务器是什么意思&#xff1f; 二.Windows Service 2012 搭建FTP服务器 1.开启防火墙 2.创建组 ​编辑3.创建用户 4.用户绑定组 5.安装ftp服务器 ​编辑6.配置ftp服务器 7.配置ftp文件夹的权限 8.连接测试 三.计算机端口介绍 什么是网络…

解决ELement-UI懒加载三级联动数据不回显(天坑)

最老是遇到这类问题头有点大,最后也是解决了,为铁铁们总结了一下几点 一.查看数据类型是否一致 未选择下 选择下 二.处理数据时使用this.$set方法来动态地设置实例中的属性&#xff0c;以确保其响应式 三.绑定v-if 确保每次重新加载 四.绑定key 五.完整代码

进行VMware日志管理

随着公司转向虚拟化其 IT 空间&#xff0c;虚拟环境日志监控正在占据日志管理的很大一部分,除了确保网络安全外&#xff0c;虚拟机日志监控还有助于管理虚拟化工具&#xff0c;这是最复杂的任务之一。 对虚拟环境日志的监控分析 当今公司中最受欢迎的虚拟平台之一是 VMware。…

图像处理-周期噪声

周期噪声 对于具有周期性的噪声被称为周期噪声&#xff0c;其中周期噪声在频率域会出现关于中心对称的性质&#xff0c;如下图所示 带阻滤波器 为了消除周期性噪声&#xff0c;由此设计了几种常见的滤波器&#xff0c;其中 W W W表示带阻滤波器的带宽 理想带阻滤波器 H ( u …

二维码能转成链接吗?具体步骤是什么样的?

将二维码分解成链接来使用&#xff0c;是经常会出现的一种需求&#xff0c;分解成的链接可以放在电脑浏览器上&#xff0c;就可以在电脑上查看二维码的内容。那么如何将二维码图片做解码处理呢&#xff1f;最简单也是很多人会选择使用的一种方法就是使用二维码解码器来处理&…

如何提高代码质量:5 个基本步骤

软件开发团队有时会遇到各种挑战&#xff0c;导致他们难以按时生产高质量的项目。在这里&#xff0c;我们讨论了通过持续测试快速保证质量的五种策略。 每个人都想要更高质量、更快的软件。对现代软件开发团队的要求是巨大的——从日益激烈的竞争和市场压力、不断增加的功能和…

php-ssrf

漏洞描述&#xff1a; SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。 一般情况下&#xff0c;SSRF攻击的目标是从外网无法访问的内部系统。&#xff08;正是因为它是由服务端发起的&#xff0c;所以它能够请求…

POI根据表头模板导出excel数据,并指定单个单元格样式,多sheet。

最近的公司需求&#xff0c;因为Excel表头样式较为复杂&#xff0c;不易直接用poi写出。 需要的Excel为这种&#xff1a; 直接模板导出不能成为这样。 public void exportCheckCsdn(HttpServletResponse response) {//获取到MNR 和 MNR-DT 的List// 此处写 获取到指定li…

是德科技E9304A功率传感器

是德科技E9304A二极管功率传感器测量频率范围为9 kHz至6 GHz的平均功率&#xff0c;功率范围为-60至20 dBm。该传感器非常适合甚低频(VLF)功率测量。E系列E9304A功率传感器有两个独立的测量路径&#xff0c;设计用于EPM系列功率计。功率计自动选择合适的功率电平路径。为了避免…