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

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.hqwc.cn/news/587704.html

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

相关文章

HarmonyOS 和 OpenHarmony

HarmonyOS 和 OpenHarmony 支持的 shell 命令不同,因此有时候需要做一做区分,目前有些文档上没有标注,因此可能产生歧义。 HarmonyOS 支持 getprop: getprop hw_sc.build.os.apiversion # 查看API版本OpenHarmony 上支持 param…

STM32FATFS(未完待续)

注意,本博客适合像我一样的小白,会的不多,但是想快速做些东西,不适合会写驱动的大佬。另外,示例代码中的注释有误(从多个项目中移植过来的,未做更改),请不要被误导&#…

基于51单片机的自动化窗户控制系统设计

**单片机设计介绍,基于51单片机的自动化窗户控制系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于51单片机的自动化窗户控制系统设计是一个结合了硬件与软件技术的综合性项目。以下是对该设计的概要描述&a…

Github 2024-04-02Python开源项目日报 Top10

根据Github Trendings的统计,今日(2024-04-02统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目10系统设计指南 创建周期:2507 天开发语言:Python协议类型:OtherStar数量:241693 个Fork数量:42010 次关注人数:241693 人贡献…

Premiere Pro 2024:赋予创意翅膀,让你的视频飞翔 mac/win版

Premiere Pro 2024,作为Adobe旗下的旗舰视频编辑软件,自推出以来,一直在视频制作领域占据着重要的地位。随着技术的不断进步和创新,Premiere Pro 2024为用户带来了前所未有的编辑体验,重新定义了视频制作的标准。 Pre…

基于51单片机的简易计算器设计

1、任务 本课题模拟计算器设计硬件电路采用三部分电路模块构成, 第一部分是键盘模块电路,采用4*4矩阵式键盘作为输入电路; 第二部分是LCD1602液晶显示模块; 第三部分是以51单片机作为控制核心。 软件程序主要由三部分组成&am…

房间预定小程序怎么做_打造用户的专属空间预定小程序

在这个快节奏的时代,人们对于便捷、高效的生活方式有着越来越高的追求。无论是出差、旅行还是日常生活,一个好的住宿环境都是必不可少的。然而,传统的房间预定方式往往让人头疼不已,电话沟通、排队等待、繁琐的手续……这些问题不…

STM32 M3内核寄存器概念

内容主要来自<<M3内核权威指南>> 汇编程序中的最低有效位&#xff08;Least Significant Bit&#xff09;。LSB是二进制数中最右边的位&#xff0c;它代表了数值中的最小单位。在汇编程序中&#xff0c;LSB通常用于表示数据的最小精度或者作为标志位。 ---------…

电子积木方案开发商

东莞市酷得智能科技有限公司电子积木方案开发商 提供消费电子解决方案、提供IC技术支持&#xff0c;全国线上线下服务 积木小车底层驱动开发过程主要涉及到以下几个方面&#xff1a; 首先&#xff0c;需要对小车底盘结构、硬件、模块等有深入的了解。底盘承载着机器人定位、导…

vue + koa + Sequelize + 阿里云部署 + 宝塔:宝塔数据库连接

之前文章已经介绍了宝塔上传前后端代码并部署&#xff0c;不清楚的请看这篇文章&#xff1a; vue koa 阿里云部署 宝塔&#xff1a;宝塔前后端部署 下面是宝塔创建数据库&#xff1a; 我用的 koa Sequelize 连接的数据库&#xff0c;Sequelize 非常适合前端使用&#xf…

Three.js阴影贴图

生成阴影贴图的步骤如下&#xff1a; 从光位置视点&#xff08;阴影相机&#xff09;创建深度图。从相机的角度进行屏幕渲染在每个像素点&#xff0c;将阴影相机的MVP矩阵计算出的深度值与深度图值进行比较如果深度图值较低&#xff0c;则说明该像素点存在阴影 &#xff0c;因…

计算机网络-HTTP相关知识-HTTPS基础

HTTPS与HTTP的区别 在TCP和HTTP网络层之间加入了SSL/TLS安全协议。HTTPS在TCP三次握手之后&#xff0c;还需进行SSL/TLS的握手过程。HTTP默认端口号是80&#xff0c;HTTPS默认端口号是443。 HTTPS解决的风险 HTTPS主要解决了以下三种风险&#xff1a; 窃听风险&#xff1a;H…