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、打开项目后-点击 运行 按钮,运行结果 【运行无误】
在这里插入图片描述

相关推荐

  1. QT 5.14.2 Android环境搭建问题解决

    2024-04-08 03:08:01       63 阅读
  2. QT 常见解决记录

    2024-04-08 03:08:01       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-08 03:08:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-08 03:08:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-08 03:08:01       82 阅读
  4. Python语言-面向对象

    2024-04-08 03:08:01       91 阅读

热门阅读

  1. 查找题(二分解法c++)

    2024-04-08 03:08:01       35 阅读
  2. 474. 一和零(力扣LeetCode)

    2024-04-08 03:08:01       37 阅读
  3. netstat命令

    2024-04-08 03:08:01       32 阅读
  4. 算法刷题记录 Day38

    2024-04-08 03:08:01       35 阅读
  5. 【Wbpack原理】基础流程解析,实现 mini-webpack

    2024-04-08 03:08:01       32 阅读
  6. 3.7ExecutingCommands

    2024-04-08 03:08:01       34 阅读
  7. 【Python小程序】登录系统的简单实现

    2024-04-08 03:08:01       34 阅读
  8. LeetCode 264 丑数II

    2024-04-08 03:08:01       35 阅读