[vtkusers] VTK 6 porting

David Cole dlrdave at aol.com
Mon Mar 18 09:22:55 EDT 2013


They are set in the VTK build... but they also need to be set in your client code that includes the headers and links to the VTK build. Your code needs to be compiled with the same settings that VTK was compiled with so the conditional compilations have the same conditions.

 

If you use CMake to drive your build, you get it for free.

 

If you don’t, you have to do extra work to make things work right now.

 

An unfortunate, but true, fact about how modular VTK works now.

 

 

HTH,

David C.

 


From: Frédéric Speisser
Sent: ‎March‎ ‎18‎, ‎2013 ‎5‎:‎43‎ ‎AM
To: David Cole
CC: Marcus D. Hanwell; Sean McBride; vtkusers at vtk.org
Subject: Re: [vtkusers] VTK 6 porting



Ok, thanks all, finally I generated VS projects of VTK's examples through CMake and I found what I searched :

To have the os/rendering system  dependent classes created, I assume I must set following macro : 
#define vtkRenderingCore_AUTOINIT 4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL,vtkRenderingOpenGL)

or add in my preprocessor definitions a reference to a file, containing the previous macro, like this :
vtkRenderingCore_INCLUDE="vtkRenderingCore_AUTOINIT_vtkInteractionStyle_vtkRenderingFreeType_vtkRenderingFreeTypeOpenGL_vtkRenderingOpenGL.h"

Cannot be these parameters set in VTK build, to be included in VTK resulting dll ?

Else I must add these definitions in all my VTK dependent projects which is not very elegant ...



Frédéric S.


Le 15/03/2013 20:54, David Cole a écrit :



Run CMake on this CMakeLists.txt file:

 

  https://gist.github.com/dlrdave/5172611

 

That should give you most (but not quite all) of what you need to know to link to VTK from a non-CMake based project...

 

 

Cheers,

David C.

 

 

 

From: Sean McBride
Sent: ‎March‎ ‎15‎, ‎2013 ‎1‎:‎38‎ ‎PM
To: Marcus D. Hanwell
CC: vtkusers at vtk.org
Subject: Re: [vtkusers] VTK 6 porting


 
On Fri, 15 Mar 2013 13:29:19 -0400, Marcus D. Hanwell said:

>If you don't want to use CMake you will have to generate the compiler
>definitions yourself. You can easily build a small CMake project, get
>the definitions and use them. Alternatively we could document what
>those definitions trigger so that you could add a source file manually
>to your project. I added runtime warnings about abstract objects in
>master to make this easier to diagnose too.

Yes, I see those warnings you added... but it's not clear to me how to act on them (I haven't had the time to look deeply).

I like the idea of you documenting 'what those definitions trigger', not only to make my life easier :) but because I suspect it's fairly common that people use the resulting VTK libraries in their favourite IDEs (VS, Xcode).  It's totally understandable/reasonable to require people to use CMake to *build* VTK, but once built, it's just a bunch of library files that should be usable in Xcode, VS, or automake projects... it was possible in VTK 5, and this may catch people by surprise, as I believe is what has happened here.

Cheers,

-- 
____________________________________________________________
Sean McBride, B. Eng                 sean at rogue-research.com
Rogue Research                        www.rogue-research.com 
Mac Software Developer              Montréal, Québec, Canada


_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Follow this link to subscribe/unsubscribe:
http://www.vtk.org/mailman/listinfo/vtkusers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20130318/a9a3c9f9/attachment.htm>


More information about the vtkusers mailing list