[vtkusers] Compile with Visual Studio 2008

Alon Mozes amozes77 at yahoo.com
Wed Feb 4 10:40:40 EST 2009


No, we don't use CMake to build our project (beyond just building VTK/ITK initially).  I am aware that the preferred mode from a VTK/ITK perspective is to use CMake to build everything, but that does not seem ideal for a developer using Visual Studio (VS).  If I understand correctly, that would mean every time we make a change to our project in VS, we'd have to save the file, go to CMake, build, go back to VS to run in the debugger.  VS provides a simple one-press save-build-run environment that prevents lots of annoying little mistakes (like forgetting to save, or re-build, before re-running, let alone not having to switch apps mid-programming).  Perhaps I'm misunderstanding how CMake would have to be used (I've read all the docs and bought and read all the books for VTK/ITK - if there's a simple explanation that will correct me, please provide it).  Perhaps there's a way to reference CMake from within VS?
 
We previously had the project running without CMake by painstakingly setting up the VS project settings file to point to all the VTK/ITK files for include/linking.  Once that was done, we were able to program exclusively in VS and create other development machines simply by installing VTK/ITK and copying the project settings file around.  I'm happy to put in the pain up front as a one-time cost to be able to use only VS as the all-purpose IDE.  Surely there must be a way to get the vtkMFCWindow working with VS again.
 
Thanks for all the help.

--- On Wed, 2/4/09, David Cole <david.cole at kitware.com> wrote:

From: David Cole <david.cole at kitware.com>
Subject: Re: [vtkusers] Compile with Visual Studio 2008
To: "Alon Mozes" <amozes77 at yahoo.com>
Cc: vtkusers at vtk.org, "Jim" <jiksed at yahoo.com>
Date: Wednesday, February 4, 2009, 3:45 AM


Are you using CMake to build your project?

The file vtkMFCConfigure.h is in your VTK build tree. If you are using CMake to build your project with find_package(VTK) and include(${VTK_USE_FILE}) then it should just work....

If you're not using CMake, I would recommend using it for your VTK dependent projects. It's much easier. It's probably just a matter of adding extra include directories for non-CMake-based projects.


HTH,
David



On Tue, Feb 3, 2009 at 9:15 PM, Alon Mozes <amozes77 at yahoo.com> wrote:






Maybe I spoke too soon...
 
I'm able to compile VTK now without complaints about MFC.  However, now I try to compile my application and I get an error:
 
1>C:\Program Files\Vtk-5.2.1-src\GUISupport\MFC\vtkMFCWindow.h(24) : fatal error C1083: Cannot open include file: 'vtkMFCConfigure.h': No such file or directory
  
I include vtkMFCWindow.h in one of my own project header files, and that in turn includes vtkMFCConfigure.h, but I can't find that file anywhere (I do find a vtkMFCConfigure.h.in in the vtk source folder).  I am using VTK 5.2.1.  I checked the previous version I was using - VTK 5.0.3 - and the vtkMFCWindow.h file doesn't include vtkMFCConfigure.h.  Instead, it includes vtkConfigure.h, so this seems to be a new change.  Any idea what I'm doing wrong?  I notice there's an MFC project setting for compiling using Standard Windows, MFC in a shared dll, and MFC in a static library.  This setting is available for both the VTK ALL_BUILD project as well as my own.  I've tried using standard windows and static library with both with no luck.  Maybe this setting matters somehow?
 
Any help would be greatly appreciated.  Thanks.



--- On Mon, 2/2/09, David Cole <david.cole at kitware.com> wrote:

From: David Cole <david.cole at kitware.com>

Subject: Re: [vtkusers] Compile with Visual Studio 2008
To: "Alon Mozes" <amozes77 at yahoo.com>

Cc: vtkusers at vtk.org, "Jim" <jiksed at yahoo.com>
Date: Monday, February 2, 2009, 4:28 AM





Did you not see my response to this thread the other day....?


  The first three lines of vtkMFCWindow.cpp are the culprit. They read: 


  #ifndef WINVER    // Allow use of features specific to Windows 95 and Windows NT 4 or later.
  #define WINVER 0x0400
  #endif


  Remove them or comment them out and it should work ok with VS2008.


  Sorry for the inconvenience....




HTH,
David





On Sun, Feb 1, 2009 at 11:27 PM, Alon Mozes <amozes77 at yahoo.com> wrote:






Not sure why I had to disable video for windows.  I just know that I compiled and many errors seems to come from a conflict there (with the vtk rendering lib if I remember correctly).  I got rid of that and still have one problem with the MFC lib which I know I need.  Anyone out there compile VTK with Visual Studio 2008 while keeping the MFC flag?  Is this a problem with my Windows settings somehow?  My Visual Studio settings?  Or VTK?
 
Thanks,
Alon

--- On Thu, 1/29/09, Jim <jiksed at yahoo.com> wrote:

From: Jim <jiksed at yahoo.com> 

Subject: Re: [vtkusers] Compile with Visual Studio 2008
To: "Alon Mozes" <amozes77 at yahoo.com>, vtkusers at vtk.org
Date: Thursday, January 29, 2009, 8:14 AM 






I am doing the same thing and got a bunch of errors. I wonder why you have to turn off VTK_USE_VIDEO_FOR_WINDOWS? Thank you.
 

Alon Mozes <amozes77 at yahoo.com> wrote:





Hi All,
I have a great project using VTK/ITK in an older version of Visual Studio.  I need to upgrade to the latest version of VS (Visual Studio 2008 Professional Edition).  I've found that I must recompile VTK/ITK to properly do so.  I've started from scratch and installed the latest CMake 2.6 which offers an option to use the Visual Studio 2008 compiler and VTK 5.2.1.  For the configuration, I turn on VTK_USE_MFC (via VTK_USE_GUISUPPORT) and VTK_RENDERING.  Then I compile the ALL_BUILD in Visual Studio and I get several errors.  I reconfigured CMake to turn off the VTK_USE_VIDEO_FOR_WINDOWS and all but one error goes away.  I'm still stuck with the following failure (which seems to be in the vtkMFC package which I think is critical for me):
 
C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\sdkddkver.h(217) : fatal error C1189: #error : _WIN32_WINNT settings conflicts with _WIN32_IE setting
 
When I dig a little, I'm taken to the following lines of code:
 
#if((_WIN32_WINNT < _WIN32_WINNT_WIN2K) && (_WIN32_IE > _WIN32_IE_IE60SP1))
#error _WIN32_WINNT settings conflicts with _WIN32_IE setting
#endif
 
Its clearly passing this conditional and triggering this error.  The weird thing is that the first part of the conditional should be 0 (the values seem to be 0x0600 < 0x0500) so the whole thing should not pass.  What's going on here?  Any help would be greatly appreciated.
 
Thanks for the help.



_______________________________________________
This is the private VTK discussion list.
Please keep messages on-topic. Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
Follow this link to subscribe/unsubscribe:
http://www.vtk.org/mailman/listinfo/vtkusers




_______________________________________________
This is the private VTK discussion list.
Please keep messages on-topic. Check the 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/20090204/e78a1f33/attachment.htm>


More information about the vtkusers mailing list