QT安装和使用 qscintilla2 控件

由于需要研究Notepad++插件的编写(使用C#),其编辑器使用的是scintilla,但是由于对MFC的不熟悉,想另辟蹊径,通过学习QT和qscintilla2来学习scintilla的使用,折腾了一天,遇到很多问题,记录在此。

====================================================================================

本文环境为

qt-opensource-windows-x86-vs2010-4.8.6.exe

Visual StudioAdd-in 1.1.11 for Qt4

Visual Studio 2010

Win7 X64

====================================================================================

1.下载QScintilla

http://www.riverbankcomputing.co.uk/software/qscintilla/download

 

2.安装

打开Qt CommandPrompt

cd QScintilla的解压目录/Qt4Qt5

分别执行

qmake qscintilla.pro
nmake
nmake install

注意:

不要使用中文路径,nmake不识别

nmake是Vs2010的一部分,在C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\目录下,可以将其加入PATH环境变量

注意此处编译器版本需要与QT本身被编译的编译器一致,这里使用nmake,有地方使用MinGW,视环境不同选择不同的工具

另外需要注意本文都是X86环境,避免环境X86/X64不一致而出现各种意想不到的问题


 

3.安装QT designer的qscintillaplugin插件

打开Qt CommandPrompt

cd QScintilla的解压目录/designer-Qt4Qt5

分别执行

qmake designer.pro
nmake
nmake install

 ====================================================================================

4.出现的问题

由于qscintillaplugin依赖qscintilla,需要将qscintilla.dll复制到QT安装目录下的bin子目录中,

否则将会出现“Cannotload library qscintillaplugin.dll: The specified module cannot be found”(无法加载库…找不到指定的模块)的错误而无法加载插件(我就是在这里出错很久才找到解决办法http://stackoverflow.com/questions/1436628/qwt-plugin-for-qt-4-5

 

如果遇到链接错误: unresolvedexternal symbol QsciScintilla::QsciScintilla(class QWidget *)…

则是因为没有加入lib,需要在Vs2010的“当前项目-属性-配置属性-链接-输入”中加入该控件的lib


如果遇到qscintilla2Cannot find or open the PDB file错误,能够正常生成exe,但是exe无法正常执行,出现秒退,则可能是下面的原因(网络上搜索的解决方案实测无用):

在安装控件时,由于默认编译的控件为release版本,所以QT工程必须定义成release



如果遇到errorLNK1123: failure during conversion to COFF: file invalid or corrup错误,需要关闭VS2010中增量编译开关

 

如果想使用debug版本,可以修改QScintilla-gpl-2.8.4\Qt4Qt5\qscintilla.pro文件,将其中的

CONFIG += qt warn_off release thread exceptions

改成

CONFIG += qt warn_off debug thread exceptions

,再重新按照前面的方式编译和复制即可

 

经试验,QTdesigner中的插件不能使用debug版,否则加载插件显示不兼容的错误,这样的话,如果前面使用的是debug版本,在此时无法直接打开包含该控件的ui文件,会弹出错误,如下,所有最好都使用Release版本

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值