You are mixing release mode and debug mode libraries. Qt is compiled fine. containerextension and taskmenuextension are not (they are compiled in debug instead of release mode).
You are mixing release mode and debug mode libraries. Qt is compiled fine. containerextension and taskmenuextension are not (they are compiled in debug instead of release mode).
Both are available in versions without suffix "d".
And I did not compile them any different then the rest of Qt. It could only be that Qt itsself does have a .pro file which says to compile them different.
If I compiled them wrong, I would need to know how to compile these dlls correct.
Matthias
What does the dependency walker say about qwt_designer_plugin.dll?
It complains about a missing dwmapi.dll. I have no idea what this is about, however I downloaded it and put it into the directory of the plugin. Thereafter no missing dll is in the list, but the dependency walker still complains that 'Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.'
The error in the plugin list of the designer still remains.
Funnywise, if I use mingw then everything works fine without any errors. It would however prefer not to have a seperate Qt mingw installation just for the designer.
Matthias
Last edited by pospiech; 9th March 2008 at 08:55.
How did you compile the plugin? Does Designer depend on mingw? How did you compile Designer? Does it depend on Qt libraries or are they compiled into the binary statically?
The makefile of the plugin is attached. I compiled using the msvc cmd prompt using qmake, nmake with
"CONFIG += release"
"CONFIG += QwtDesigner"
in qwtconfig.pri
The designer was compiled with all the rest of Qt and has nothing to do with mingw. And since I do not know how I should build it with static linked libaries I assume that Qt Makefiles provide libary depending binaries.
So basically, Qt was compiled as usual, and Qwt with 'release' and both with Visual Studio and 'nmake'
mingw binaries and not even in the PATH and can not be found during compilation.
Matthias
So where does the mingw dependency come from? Or maybe I simply misunderstood you... Make sure all components are compiled in the same mode (release or debug) and all dependencies are met. That should be enough for the plugin to be visible. If the dependency walker complains about something, try to pinpoint what exactly it is warning you about.
I compiled everthing twice( Qt, qwt). Once with msvc and second with mingw. Both builds are of course totaly independend on the other. If I use the mingw Qt and qwt version, then the mingw-build designer shows all plugins.
I am very sure that I compiled everything in release mode.
The only warning I get is
which does not help me really.'Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.'
I now compiled qwt again in debug mode. Then I copied qwt.dll to qt/bin to be sure that designer uses the debug version of qwt and copied the debug version of the plugin to plugins/designer.
Now it is loaded. However the complain that "containerextensiond.dll" and "taskmenuextensiond.dll" were compiled with "Windows msvc debug full-config" instead of "Windows msvc release full-config" still remains. But that does not hinder the qwt plugin to be loaded.
So my result seems to be that qwt has to be compiled in debug mode so that the designer can load it. It would probably a lot easier if there was a Installation information in qwt. All information about the integration into desinger I had found in forums like this.
Matthias
Designer should be compiled in release mode and work with release mode compiled components. You can't mix the two modes. If at least one of the components is compiled in another mode than the rest (Qt, Designer, Qwt, plugins) it will simply not work. It is all written in Qt docs and it should all work just fine by default unless you do some customizations on your own.
This implies your Designer is compiled in debug mode, which is certainly not the default when building Qt. You must have at least passed a "-debug" switch to configure (instead of -debug-and-release).
I did 'configure -platform win32-msvc2005' which was copied from the tutorial http://mm-werkstatt.informatik.uni-a...als/qt2005.pdf
But I thing we can stop debating about this issue. I understand why things do not work, though I do not know how this inconsistancy came. But this way it is working right now.
Bookmarks