1

我在让 qwt 6.1.0 与 Qt-Creator 5.1.0 一起正常工作时遇到问题。当我启动 Qt-Designer 的独立版本时它可以正常工作,并且当我使用 Qt-Creator 时一切都可以正确编译和运行。但是,Qt-Creator 中内置的设计器不会在任何表单上正确显示 qwt 小部件,也不给我添加新 qwt 小部件的选项。

我正在使用适用于 Windows 64 位的 Qt Creator 5.1.0(带有 OpenGL 的 VS2012)。我还下载并使用上述 Qt-Creator 编译了 Qwt 6.1.0,只需打开 qwt.pro 文件并编译它。编译完成后,我按照 Qwt 说明 ( http://qwt.sourceforge.net/qwtinstall.html )中的指示使用了 Visual Studio 命令提示符中的“nmake”和“nmake install”命令。然后我将 qwt_designer_plugin.dll 复制到 C:\Qt\Qt5.1.0\Tools\QtCreator\bin\plugins\designer\ 和 C:\Qt\Qt5.1.0\5.1.0\msvc2012_64_opengl\plugins\designer\ 目录。

有没有人有什么建议?我可以手动启动 Qt-Designer 并使用 Qt-Creator 进行编译,但是不得不不断地来回切换并且无法使用捆绑到 Qt-Creator 中的设计器,这有点烦人。

编辑 #1:我还按照 qwt 安装文档中的说明将路径环境变量设置为 C:\Qwt-6.1.0\lib\。此外,我在我正在测试的 Qt 项目文件 (.pro) 中设置了以下内容:

CONFIG  += qwt
INCLUDEPATH += C:\Qwt-6.1.0\include\
LIBS += C:\Qwt-6.1.0\lib\
4

2 回答 2

2

原因可能是您的 QTCreator 与您构建 QWT 的实际 QT 框架的兼容性。

QT-Project.org/Download 中提供的适用于 Windows 64 位(VS 2012,OpenGL,522 MB)软件包的Qt 5.1.1 具有针对MSVCR110(C++ 2012)64 位构建的QT 库,其中实际的QTCreator.exe是针对MSCVR100 (C++ 2010)构建。这就是为什么 QWT 插件可以成功地从 QT 框架中的独立 QT Designer 加载,但不能在 Tools/ 目录中的 QT creator 上加载。要检查这一点,请在 Dependency Walker 中加载 QTCreator 可执行文件,您会看到。

我的建议是您下载 QT 的源代码,使用您的编译器构建它,然后使用相同的编译器编译 QWT。有点乏味,但至少你会确定你的插件会加载。

于 2013-11-22T23:31:43.107 回答
0

根据文档,您必须调整 PATH 变量:

set PATH=%PATH%;${QWT_ROOT}\lib

如果您没有编译 qwt 'selfcontained',仅复制 dll 是不够的:

当尚未构建包含 Qwt 库的插件时(请参阅 qwtconfig.pri 中的 QwtDesignerSelfContained ),Qt Designer/Creator 还需要找到 Qwt 库。

顺便说一句......没有Qt-Creator 5.0.1。你的意思是Qt 5.0.1。Qt-Creator 只是 Qt 包中的一个工具。

于 2013-08-23T20:08:36.393 回答