问题
I'm having issues getting qwt 6.1.0 to work correctly with Qt-Creator 5.1.0. It works correctly when I launch the stand alone version of Qt-Designer and everything compiles and runs correctly when I use Qt-Creator. However the designer that is built into Qt-Creator does not display the qwt widgets correctly on any forms nor give me the option to add new qwt widgets.
I'm using Qt Creator 5.1.0 for Windows 64-bit (VS2012 with OpenGL). I've also downloaded and compiled Qwt 6.1.0 with the aforementioned Qt-Creator, by simply opening the qwt.pro file and compiling it. Once it was compiled I used the 'nmake' and 'nmake install' commands from the visual studio command prompt as directed in the Qwt instructions (http://qwt.sourceforge.net/qwtinstall.html). I then copied the qwt_designer_plugin.dll to the C:\Qt\Qt5.1.0\Tools\QtCreator\bin\plugins\designer\ and C:\Qt\Qt5.1.0\5.1.0\msvc2012_64_opengl\plugins\designer\ directories.
Does anyone have any suggestions? I can manually launch Qt-Designer and just compile with Qt-Creator, but it is kind of annoying to have to constantly switch back and forth and not be able to use the designer that is bundled into Qt-Creator.
EDIT #1: I've also set the path environment variable to C:\Qwt-6.1.0\lib\ as instructed in the qwt installation documenation. Additionally I've set the following in the Qt project file (.pro) that I'm testing with:
CONFIG += qwt
INCLUDEPATH += C:\Qwt-6.1.0\include\
LIBS += C:\Qwt-6.1.0\lib\
回答1:
The reason might be on the compatibility of your QTCreator with the the ACTUAL QT framework you built QWT against.
The Qt 5.1.1 for Windows 64-bit (VS 2012, OpenGL, 522 MB) package provided in QT-Project.org/Download has the QT libraries built against MSVCR110 (C++ 2012) 64 bits where as the actual QTCreator.exe is built against MSCVR100 (C++ 2010). That's why the QWT plugin load successfully form the stand-alone QT Designer that comes in the QT framework, but not on the QT creator that comes in the Tools/ directory. To check this, load the QTCreator executable in Dependency Walker and you'll see.
My recommendation is that you download the source code of QT, build it with your compiler and then compile the QWT using the same compiler. A bit tedious but at least you'll be sure that your plugins will load.
回答2:
According to the docs you have to adjust your PATH variable:
set PATH=%PATH%;${QWT_ROOT}\lib
Just copying the dll is not enough, if your did not compile your qwt 'selfcontained':
When the plugin has not been built including the Qwt library ( see QwtDesignerSelfContained in qwtconfig.pri ) the Qt Designer/Creator also needs to locate the Qwt libraries.
And btw... There is no Qt-Creator 5.0.1. What you mean is Qt 5.0.1. The Qt-Creator is only a tool within your Qt package.
来源:https://stackoverflow.com/questions/18410809/im-having-issues-getting-the-qwt-widget-to-work-correctly-with-qt-creator