我想试试QScintilla。所以我下载并安装了它,没有问题。当我运行示例项目时,它说我缺少QtCored4.dll,所以我将它复制到目录中,然后它说它还需要其他dll,所以也复制了它们。
最后,它给出了一个VisualC++运行时错误。只是说它以一种不寻常的方式结束了。
我知道这是模糊的,但这只是状态,没有额外的错误消息。代码来自网站,我没有修改它。
有人知道这方面的线索吗?
现在我有了这个问题,我想也许我应该扩展标准的Qt文本组件。并尝试制作我自己的组件,如QScintilla。
编写像QScintilla?这样的组件有多难(不看它的源代码)
更新:,所以我在Qt下加载了这个示例项目。将默认配置设置为释放模式并让其运行。而且起作用了。(很奇怪)如果我切换到调试模式,说:
传递给C运行时函数的参数无效。
如果我转到文件系统中的目录(而不是directory中)并运行程序(发布模式),我就会得到注释中提到的奇怪错误。如果我从运行它,它就能工作。
发布于 2010-01-17 14:52:51
我对QScintilla一点问题都没有。我已经从VC++ 2008的源代码中编译了QT4.6。在下载QScintilla-gpl-2.4.1并解压缩之后,我用以下方法编译了它:
cd Qt4
qmake qscintilla.pro
nmake并最终安装在
nmake install
copy %QTDIR%\lib\qscintilla2.dll %QTDIR%\bin在编译和运行示例时,我没有任何问题。
因此,首先检查您的环境变量(我的计算机,右键单击,属性->高级选项卡->环境变量按钮)。检查系统变量部分中的路径。这个变量中有%QTDIR%\bin (c:\Qt\qt-4.6.0\bin)。
第二我想知道你的信息中的字母"d“:
QtCored4.dll
如果您完成了文档中描述的所有步骤,您将得到库的发布版本,以及与Qt库的发布版本相链接的示例应用程序的发布版本。而不是调试。
最后,可能是QTextEdit & QSyntaxHighlighter对您的任务来说已经足够了。看看语法高亮符示例。
对注释的响应。
这是某种众所周知的问题(可能是)。因此,如您所见,您有两个不同的Qt库文件夹。
C:\Qt\2009.05\bin;C:\Qt\2009.05\qt\bin 在你的路上。第一个文件夹中的库(...\bin)用VS2008编译,第二个文件夹中的库(...\qt\bin)用MinGW编译。当应用程序启动时,将查找path变量中的项。突然,带有“错误”库的文件夹在path变量中具有正确项的文件夹之前存在。您可以做的是复制QtCore4.dll、QtGui4.dll和其他您需要在应用程序可执行文件中文件夹的库。希望这能有所帮助。
有关此问题的一些链接:
https://stackoverflow.com/questions/2080862
复制相似问题