[vtk-developers] QVTKWidgetPlugin debug/release versions on Windows

Clinton Stimpson clinton at elemtech.com
Tue Aug 5 23:54:13 EDT 2008


On Aug 5, 2008, at 4:33 PM, Andrew Maclean wrote:

> I tried out the "d"postfix, and it sems to work Ok, but does not  
> fix my problem!
>
> This is probably me but there is something I don't understand.
>
> 1) I have copied the release version of QVTKWidgetPlugin.dll to
> %QT_PATH%\plugins\designer and it appears Ok in designer. Note that
> the debug build of this dll will not even register in designer.


>
> 2) I take SimpleView in the VTK/EXamples/QT and it builds OK - no
> problems. I am building it in Visual Studio 9. CMake finds everything,
> no errors, no warnings.
>
> When I run the release version in Visual Studio or from a command
> prompt, it runs Ok.
> However when I run the debug version either from Visual Studio or from
> a command prompt, the instantiation fails at the line:
>     vtkWidget = new QVTKWidget(centralWidget);
> ui_uiSimpleView4.h
> With a message: "QWidget: Must construct a QApplication before a  
> QPaintDevice"


>
> Why isn't QVTKWidget able to be used when building debug versions of
> the executable?

I think the error you're getting has come up on the vtk users list  
before.
That error usually comes from the application depending on both the  
debug and release Qt libraries, either directly or indirectly.  You  
can get a hint of where this is coming from by looking at the output  
window when you debug the application, and if you're using shared Qt  
libs.  You might see QtGui4.dll and QtGui4d.dll loaded, which  
shouldn't happen.  Perhaps something is messed up in your  
CMakeCache.txt file.  You could send it to me if you want me to have  
a look.  Its interesting that you'd get this, and none of the  
ParaView developers would.


> Why won't the debug version of QVTKWidgetPlugin.dll register in  
> designer?
>

Because you've got a release build of the designer.  Debug builds of  
plugins are ignored.
You only need to build one plugin, either debug or release to match  
your designer.  With that, you can create user interfaces that get  
compiled into your applications.  Those applications you create do  
not link with the plugin, but rather with the QVTK library.


Clint


> I am using QT-4.3.4. Vista, Visual Studio Version 9.
>
> Andrew
>
>
>
> On Tue, Aug 5, 2008 at 2:11 PM, Clinton Stimpson  
> <clinton at elemtech.com> wrote:
>>
>> Probably no one else has tried to do that.  They either copy the  
>> plugin into
>> the Qt designer plugin directory, or don't use a debug version of  
>> the Qt
>> designer.
>>
>> Adding a "d" postfix is fine with me.
>>
>> Clint
>>
>> On Aug 4, 2008, at 9:51 PM, Andrew Maclean wrote:
>>
>>> When using Windows, how do developers handle the problem of debug  
>>> and
>>> release versions of QVTKWidgetPlugin.dll?
>>> The issue I have is that I have release versions of the library  
>>> in my
>>> path and consequently when I set QT_PLUGIN_PATH="C:\Program
>>> Files\VTK\plugins" of course, it only picks up one version,  
>>> namely the
>>> release version.
>>>
>>> Does anyone see any problems modifing:
>>> IF(NOT VTK_NO_LIBRARY_VERSION)
>>>  SET(VTK_LIBRARY_PROPERTIES ${VTK_LIBRARY_PROPERTIES}
>>>    VERSION "${VTK_VERSION}"
>>>    SOVERSION "${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}"
>>>    )
>>> ENDIF(NOT VTK_NO_LIBRARY_VERSION)
>>>
>>> to
>>> IF(NOT VTK_NO_LIBRARY_VERSION)
>>>  SET(VTK_LIBRARY_PROPERTIES ${VTK_LIBRARY_PROPERTIES}
>>>    VERSION "${VTK_VERSION}"
>>>    SOVERSION "${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}"
>>>    DEBUG_POSTFIX "d"
>>>    )
>>> ENDIF(NOT VTK_NO_LIBRARY_VERSION)
>>>
>>> Which will add a "d" postfix to the debug versions of the libraries?
>>>
>>> Thanks in advance for any comments
>>>
>>> Andrew.
>>>
>>> --
>>> ___________________________________________
>>> Andrew J. P. Maclean
>>> Centre for Autonomous Systems
>>> The Rose Street Building J04
>>> The University of Sydney 2006 NSW
>>> AUSTRALIA
>>> Ph: +61 2 9351 3283
>>> Fax: +61 2 9351 7474
>>> URL: http://www.acfr.usyd.edu.au/
>>> ___________________________________________
>>> _______________________________________________
>>> vtk-developers mailing list
>>> vtk-developers at vtk.org
>>> http://www.vtk.org/mailman/listinfo/vtk-developers
>>
>> _______________________________________________
>> vtk-developers mailing list
>> vtk-developers at vtk.org
>> http://www.vtk.org/mailman/listinfo/vtk-developers
>>
>
>
>
> -- 
> ___________________________________________
> Andrew J. P. Maclean
> Centre for Autonomous Systems
> The Rose Street Building J04
> The University of Sydney 2006 NSW
> AUSTRALIA
> Ph: +61 2 9351 3283
> Fax: +61 2 9351 7474
> URL: http://www.acfr.usyd.edu.au/
> ___________________________________________




More information about the vtk-developers mailing list