当前位置: 首页 > news >正文

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.lryc.cn/news/330786.html

相关文章:

  • android QtScrcpy 共享屏幕 获取本地Address
  • 【SQL Server】1. 认识+使用
  • 视频汇聚/安防监控/视频存储EasyCVR平台EasyPlayer播放器更新:新增【性能面板】
  • 图神经网络实战(7)——图卷积网络(Graph Convolutional Network, GCN)详解与实现
  • 大话设计模式之外观模式
  • CAD Plant3D 2024 下载地址及安装教程
  • Intellij IDEA / Android studio 可持续开发笔记
  • c++----list模拟实现
  • FastAPI+React全栈开发15 让我们构建一个展示API
  • list(链表)容器(二)
  • 世优科技上榜2024年度《中国虚拟数字人影响力指数报告》
  • 【调试方法】C代码中dump中间数据的方法
  • 【BUG】vue中@change时间传值丢失问题
  • Linux提权!!!
  • Android Studio学习7——常用控件view
  • Springboot3 集成knife4j(swagger)
  • 深信服:借助观测云实现全链路可观测性
  • 详解Qt中使用线程
  • 在.Net6中用gdal实现第一个功能
  • 采用大语言模型进行查询重写——Query Rewriting via Large Language Models
  • 使用Vue实现CSS过渡和动画
  • 一家购物商场的数据运营挑战
  • React Native框架开发APP,安装免费的图标库(react-native-vector-icons)并使用详解
  • idea端口占用
  • MQ消息队列详解以及MQ重复消费问题
  • 系统IO函数接口
  • 06 监听器
  • C语言第三十九弹---预处理(上)
  • 计算机视觉无人驾驶技术:入门指南
  • Golang和Java对比