Qt编译QScintilla(C++版)过程记录,报错-lqscintilla2_qt5d、libqscintilla2_qt5找不到问题解决

news2025/1/11 21:46:46

Qt编译QScintilla [C++版] 过程记录

本文是编译该 QScintilla 组件库供 QtCreater 开发 C++ 桌面软件 流程记录

一、编译环境

  • 系统: Windows 10
  • Qt:Qt 5.14.2
  • 编译套件:MinGW 64
  • Qscintilla:QScintilla_src-2.11.6

二、下载链接

网站链接:https://www.riverbankcomputing.com/software/qscintilla/download
在这里插入图片描述
下载最新 *.zip 版即可,gz是linux使用的。
注意:有多个版本,而2.12及其以后的版本,不再支持Qt4和Qt5了,所以源码中没有QT4QT5这个目录了。这里我下载的是2.11.6这个版本。下载完成后解压,其目录结构如下:

目录名用途
Qt4Qt5编译文件夹,生成对应的DLL文件
designer-Qt4Qt5相关的设计师插件的编译文件夹
example-Qt4Qt5简单的示例文件夹
doc使用Doxygen生成的帮助文档
lexers已实现的各语法分析器

二.编译和安装

然后解压后,可以看到里面有很多文件,其中安装的目录和源码在Qt4Qt5文件夹下,在这个文件夹里面使用qmake运行里面的.pro文件,就可以生成makefile文件,然后使用make或者nmake工具运行makefile文件即可。那我的QT版本举例,首先在系统环境变量PATH添加你的Qt的qmake路径和mingw64-make路径,比如我的电脑上添加的这两个路径分别是D:\software\Qt\Qt5.14.2\5.14.2\mingw73_64\bin和D:\software\Qt\Qt5.14.2\Tools\mingw730_64\bin,然后在刚才的Qt4Qt5文件夹下面,打开cmd到这个文件夹,分别执行如下语句:

qmake qscintilla.pro     #使用qmake工具生成makefile文件
mingw32-make             #使用Qt5.7 MinGW版本自带的make工具按照makefile里面的定义的方式编译qscintilla的源文件
mingw32-make install     #将编译生成的库整合到自己的Qt源文件中

这样就完成了release版本的安装,可以使用release版本编译了,最主要是输出了以下两个文件,在Qt4Qt5\release文件夹里面

在这里插入图片描述
在这里插入图片描述
使用mingw32-make install 会自动把编译的动态库放在Qt的lib 、bin路径下

  • qscintilla2_qt5.dll 位置
    在这里插入图片描述

  • qscintilla2_qt5.a 位置
    在这里插入图片描述

但是debug不行,debug版本需要按照以下流程继续操作。
在刚才的Qt4Qt5文件夹下面,找到并打开Makefile,修改first为debug,如下图:
在这里插入图片描述

修改完成后再次执行下面命令

mingw32-make             #使用Qt5.7 MinGW版本自带的make工具按照makefile里面的定义的方式编译qscintilla的源文件

执行完成后,在Qt4Qt5\debug目录下就会输出libqscintilla2_qt5d.a和qscintilla2_qt5d.dll
在这里插入图片描述
在这里插入图片描述
然后手动将这两个文件复制过去,复制后如下:

  • qscintilla2_qt5d.dll 位置
    在这里插入图片描述
  • qscintilla2_qt5d.a 位置
    在这里插入图片描述
    复制完成后debug也就可以正常使用了。

三、测试

使用 example 文件夹的 application.pro 项目

在这里插入图片描述
1、打开项目后-点击 运行 按钮,运行结果 【运行无误】
在这里插入图片描述

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

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

相关文章

「51媒体网」邀请媒体采访报道对企业宣传有何意义?

传媒如春雨,润物细无声的,大家好,我是51媒体网胡老师。 邀请媒体采访报道对企业宣传具有多重意义: 提升品牌知名度和曝光度:媒体是信息传播的重要渠道,通过媒体的报道,企业及其活动、产品能够迅…

uniapp:Hbuilder没有检测到设备请插入设备或启动模拟器的问题解决

问题 使用模拟器调试运行项目时,出现以下提示,“没有检测到设备,请插入设备或启动模拟器后点击刷新再试”。排查了一天最终找到原因。 解决 已确认模拟器是已经正常启动,并且Hbuilder设置中的adb路径和端口都配置没有问题&#…

主从复制、数据持久化 、Redis主从集群、哨兵机制 、Redis分片集群

数据持久化 Redis、主从集群、哨兵机制 Redis分片集群 1、单点 redis 的问题2、主从复制2.1 命令传播 3、Redis的持久化3.1 AOF3.2 RDB(默认方式)RDB 方式:执行快照时,数据能被修改吗?RDB 方式总结 3.3 RDB 和 AOF 组合…

LC低通滤波

LC滤波器,是指将电感L与电容器 C进行组合设计构成的滤波电路,可去除或通过特定频率的无源器件。电容器具有隔直流通交流,且交流频率越高越容易通过的特性。而电感则具有隔交流通直流,且交流频率越高越不易通过的特性。因此&#x…

【简单讲解下PHP AES加解密示例】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

k8s_入门_kubelet安装

安装 在大致了解了一些k8s的基本概念之后,我们实际部署一个k8s集群,做进一步的了解 1. 裸机安装 采用三台机器,一台机器为Master(控制面板组件)两台机器为Node(工作节点) 机器的准备有两种方式…

知网参考文献引用格式转latex中BibTex-Python操作

处理思路 参考 处理步骤: (单条处理:) 1、选知网NoteExpress格式的2-7行复制信息 2、新建一个文本文件,命名为cite.txt,把知网所复制信息粘贴进来 (txt文件保存编码ANSI可行) 3、…

【Linux进阶之路】地址篇

文章目录 一、ipv4地址1. 基本概念2. 分类3.CIDR4.特殊的ip地址 二、IP协议1. 协议字段2.分片与重组3.路由 三、NAT技术1.公有和私有2.NAT3.NAPT 四、ARP协议1.MAC地址2.ARP 五、DHCP协议六、DNS协议尾序 一、ipv4地址 1. 基本概念 概念:IP地址,英文全…

针对序列任务—transformer

文章目录 针对序列任务self-attention(注意力机制)流程multi-head self-attention(多头注意力机制)流程positional encoding(位置编码)TransformerembeddingAdd & Normfeed forwardMasked 李老师官方视频传送门 李老师课程主页传送门 针对序列任务 RNN无法实现并行化操作…

网络安全 | 什么是区块链?

关注WX:CodingTechWork 概述 定义 区块链是一个共享的、不可篡改的账本,旨在促进业务网络中的交易记录和资产跟踪流程。资产可以是有形的(如房屋、汽车、现金、土地),也可以是无形的(如知识产权、专利、…

吴恩达机器学习理论基础解读

吴恩达机器学习理论基础 机器学习最常见的形式监督学习,无监督学习 线性回归模型概述 应用场景一:根据房屋大小预测房价 应用场景二:分类算法(猫狗分类) 核心概念:将训练模型的数据称为数据集(学习数据…

创建一个C# WinForm应用程序的步骤

创建项目界面设计设置属性编写代码保存项目运行程序 1. 新建项目 默认情况下,项目名称和解决方案名称是保持一致的,用户也可以修改成不一样的。一个解决方案下面是可以包含多个项目的,比如和应用程序相关的数据结构项目、一些资源等。 点击…

2024/4/1—力扣—删除字符使频率相同

代码实现: 思路: 步骤一:统计各字母出现频率 步骤二:频率从高到低排序,形成频率数组 步骤三:频率数组只有如下组合符合要求: 1, 0...0n 1, n...n (, 0)n...n, 1(, 0) bool equalFrequency(char…

ubuntu安装

一、安装虚拟机 https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html 下载后运行安装向导,一直Next即可 许可证: https://zhuanlan.zhihu.com/p/685829787#:~:textpro,17%E5%AF%86%E9%92%A5%EF%BC%9AMC60H-DWHD5-H80U9-6…

day5 nest商业项目初探·一(java转ts全栈/3R教室)

背景:从头一点点学起太慢了,直接看几个商业项目吧,看看根据Java的经验,自己能看懂多少,然后再系统学的话也会更有针对性。先看3R教室公开的 kuromi 移民机构官方网站吧 【加拿大 | 1.5w】Nextjs:kuromi 移民…

AI应用实战1:AI项目实战五大环节

文章目录 环节一:定义问题环节二:收集和处理数据环节三:选择机器学习模型环节四:训练模型环节五:超参数调试和性能优化1.评价模型效果的指标分类任务评估标准:回归任务评估标准:其他通用评估指标…

分公司=-部门--组合模式

1.1 分公司不就是一部门吗? "我们公司最近接了一个项目,是为一家在全国许多城市都有分销机构的大公司做办公管理系统,总部有人力资源、财务、运营等部门。" "这是很常见的OA系统,需求分析好的话&#xff0…

76、WAF攻防——信息收集识别被动探针代理池伪指纹白名单

文章目录 什么是WAF? WAF(Web Application Firewall)web应用防火墙 WAF分类: 软件型WAF 以软件的形式安装再服务器上面,可以接触到服务器上的文件,因此就可以检测服务器上是否有webshell,是否…

Javascript - 你在项目中是如何使用闭包的

难度级别:中高级及以上 提问概率:80% 很多初级开发者其实在日常工作中,很少有使用闭包的机会,但这却是一个非常高频的考点,因为对闭包不是特别了解,使用又少,久而久之,就觉得闭包是一个难点。在Javascript中,一个普通方法在执行完毕后…

【Error】Uncaught TypeError: Cannot read properties of undefined (reading ‘get’)

报错原因: 返回值为undefined 解决: vue3可用?