我想尝试QScintilla。所以我下载并安装它,没有问题。 当我运行示例项目时,它说我丢失了QtCored4.dll,所以我将其复制到目录中,然后它说它需要其他dll以及复制它们。
最后,它给我一个Visual C ++运行时错误。它只是说它以一种不寻常的方式终止。
我知道这很模糊,但这只是状态,没有其他错误消息。代码来自网站,我没有修改它。
任何人都有这方面的线索吗?
既然我有这个问题,我想也许我应该扩展标准的Qt文本组件。并尝试制作我自己的组件,如QScintilla。
编写像QScintilla这样的组件有多难?(不看其来源)
<小时/> 更新:所以我在Qt Creator下加载了示例项目。将默认配置设置为释放模式并让它运行。它奏效了。 (很奇怪)。如果我切换到调试模式Qt Creator说:
传递给C运行时函数的参数无效。
如果我转到文件系统中的目录(不在Qt Creator中)并运行程序(发布模式),我会在评论中看到我告诉你的奇怪错误。如果我从Qt Creator运行它,它可以工作。
答案 0 :(得分:0)
我对QScintilla没有任何问题。我使用VC ++ 2008从源代码编译Qt 4.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&amp; QSyntaxHighlighter足以完成您的任务。查看Syntax Highlighter Example。
对评论的回应。
这是某种众所周知的问题(可能)。所以,你可以看到你有2个不同的Qt库文件夹
C:\Qt\2009.05\bin;C:\Qt\2009.05\qt\bin
在你的道路上。使用VS2008编译的第一个文件夹(... \ bin)中的库和使用MinGW编译的第二个文件夹(... \ qt \ bin)中的库。应用程序启动时会查找path变量中的项目。突然,具有“错误”库的文件夹存在于路径变量中具有正确项目的文件夹之前。你可以做的是将QtCore4.dll,QtGui4.dll和你需要的其他库复制到你的应用程序可执行文件夹。希望这会有所帮助。
有关此问题的一些链接: