[vtkusers] Problems with VS 2005 and VTK (vtkrendering.lib)
mam06bhv
mam06bhv at studserv.uni-leipzig.de
Thu Nov 2 04:19:21 EST 2006
Obada Mahdi schrieb:
> Hi Markus!
>
> Please do not give up on VTK yet! We are willing to help, but you
> need to give us a chance ;-)
>
> On 11/1/06, mam06bhv at studserv.uni-leipzig.de
> <mam06bhv at studserv.uni-leipzig.de> wrote:
>> Why should I use CMAKE to complie when I have Visual Studio where I
>> create my
>> projects? If I can use vtk only with Cmake I know why I've never
>> heard before
>> of it.
>
> Here is a little motivation, from a user's side of view:
> Like Amy has pointed out, It is not a compiler, it is a generator that
> creates e.g. a VisualStudio project file for you, with all necessary
> build parameters. Of course you can create your VisualStudio project
> manually, it _is_ possible; however, there might be several settings
> for the compiler or linker which you might not be aware of, so unless
> you already have some experience with setting up for the compiler and
> linker of your build system (Visual Studio), you might run into
> trouble.
>
> One cannot blame VTK for the complexity of today's compilers, linkers
> and build systems like Visual Studio, and I will not blame anyone who
> does not have enough experience setting up compiler and linker flags
> in detail (well, I certainly do not have the answer to all
> build-related questions...) CMake helps you in this regard by taking
> care of choosing suitable build settigs.
>
> ----
>
> As for the problems with your sample program: Before you are
> installing VTK over and over again, I would suggest that we try to
> narrow down with your existing VTK installation first. It is just too
> hard to follow if your configuration is changing constantly.
>
> If you have not already done so, _please_ consider taking some time
> and try some of the suggestions from earlier posts. If you do, please
> also keep this list informed about what things you have tried, what
> steps worked and which did not, and what error messages occur, if any.
> This will provide some more valuable information to work with. The
> following is a list of some things that I would try, in order (it is
> not meant to be exhaustive, but might be an inspiration for narrowing
> down the problem systematically):
>
>
> (1) Run other, non-VTK OpenGL applications and see if there is a
> problem. If there are problems, chances are that your graphics driver
> is corrupt. I have no idea how to fix that, but you could start by
> installing new drivers for your graphics card. This would also
> indicate that the problem was not related to VTK after all.
>
> Here is an example (probably not the best, just the first I found
> browsing www.mesa3d.org):
> http://www.geocities.com/shobhand/homepage.html
> Just download the linked "animator.zip", extract the contents into a
> temporary directory and run "test1.bat" in the "Release" subdirectory.
> There should be a window with rotating gears and stuff. (I chose this
> example because it makes calls to wglCreateContext and wglMakeCurrent,
> which VTK reported to fail in your case.)
I've downloaded the zip file and ran the test1.bat but there was only a
white window. nothing moving.
Could my graphic card be the problem? Do I have to buy a 400€ expensive
graphic card to run a open-source program?
>
>
> (2) Download the latest binary release of VTK from
> http://www.vtk.org/get-software.php#latest
> and install it.
>
> It does not contain pre-built libraries, but a Tcl interpreter with
> wrapped VTK libraries built-in, which allows you to run Tcl examples
> for testing purposes, without the overhead of building VTK from
> source. If OpenGL applications as tested in (1) seem to work fine,
> this is a good start to check whether creating OpenGL contexts via VTK
> works on your system. By using pre-built binaries, this eliminates
> any variables introduced by a custom VTK build.
>
> Once installed, open a command shell and execute
> $ vtk.exe "VTK_SOURCE_PATH/Examples/Tutorial/Step1/Tcl/Cone.tcl"
> (replace "VTK_SOURCE_PATH" with the location of the VTK sources on
> your system)
>
> You probably have to adjust some environment variables by adding the
> directory "INSTALL_PREFIX\lib\vtk-5.0" (the directory containing
> "vtk.exe") to PATH and set TCL_LIBRARY to
> "INSTALL_PREFIX\lib\vtk-5.0\tcl8.4" (the directory containing
> "init.tcl").
>
> When running this example, a small window should pop up, showing a
> spinning cone.
>
>
> (3) Build VTK from source just as you have already done. I am using
> VTK CVS HEAD, if you use sources from the most recent release, you
> will have to replace "vtk-5.1" by "vtk-5.0" in some directory names
> mentioned below.
>
> (3.0) If there are still some vtk*.dll files in your ".../system32"
> directory, remove them, just to make sure. (In the build description
> you have posted earlier, it is stated that one should copy vtk*.dll
> into that directory; as far as I know, copying custom-built DLLs into
> the system32 diectory is discouraged, and normal users cannot do that
> anyway.)
>
> (3.1) Run CMakeSetup.exe, choosing the source directory of VTK, a
> fresh build directory (called "VTK_BINARY_DIR" hereafter), and after
> hitting "Configure" for the first time, choose "Visual Studio 8 2005"
> as generator (it is my understanding that VS8 is what you are using).
>
> (3.2) Do configuration via CMakeSetup.exe , and make sure that the
> following options are set
> BUILD_EXAMPLES: "ON"
> BUILD_SHARED_LIBS: "ON"
> VTK_USE_RENDERING: "ON"
>
> You should only need to change the first two; we do not set
> BUILD_TYPE, which should then default to "Debug" (I guess). Hit
> "Configure" one more time until the "OK" button becomes available;
> click "OK" then to generate the "VTK.sln" solution file in the build
> directory.
>
> (3.3) Load "VTK.sln" into VS8 and build "ALL_BUILD" for building VTK,
> but do _not_ install it yet.
>
> (3.4) Open a shell via "Tools" --> "Visual Studio 2005 Command Prompt"
> and change into "VTK_BINARY_DIR/bin/debug". Run ".\Cone.exe" there and
> see if it works. The result should be the same as in (2). If it does
> not work (same error as you reported before) but the Cone.tcl in (2)
> did, there is indeed a problem with building VTK, and we need to dig
> deeper in this direction.
>
>
> (4) If running VTK examples directly from the build tree like in (3.4)
> works, install VTK by building the "INSTALL" target from "VTK.sln" (I
> did not change the default install prefix, so CMAKE_INSTALL_PREFIX
> points to "C:\Programme\VTK" on my test system). Do not copy any DLLs
> to "WINDOWS\system32", instead add "CMAKE_INSTALL_PREFIX\VTK\bin" to
> your PATH environment variable via "Control Panel"/"System"/...
> Visual Studio needs to be restarted in order for these changes to take
> effect from within Visual Studio.
>
> Then create a VS8 solution file using CMake as I have described
> earlier, having VTK_DIR point to "CMAKE_INSTALL_PREFIX\lib\vtk-5.1"
> (if you chose a different CMAKE_INSTALL_PREFIX when configuring VTK in
> CMakeSetup, adjust paths accordingly).
>
> Note: If CMakeSetup complains that "UseVTK.cmake" could not be found:
> - move "UseVTK.cmake" and "VTKLibraryDepends.cmake" from
> "CMAKE_INSTALL_PREFIX\include\vtk-5.1" to
> "CMAKE_INSTALL_PREFIX\lib\vtk-5.1"
> - move "vtkMakeInstantiator.cmake" from
> "CMAKE_INSTALL_PREFIX\include\vtk-5.1" to
> "CMAKE_INSTALL_PREFIX\lib\vtk-5.1\CMake".
> (These are small glitches that were introduced into VTK CVS after
> changes to the installation procedure, I have not checked if there is
> a bug report yet.)
>
> Please try this step even if you do not want to use CMake afterwards.
> If building your project with a .sln file created by CMake does work
> and you customly created solution does not, comparing the two can
> provide some hints regarding what has to be changed.
>
>
> I have tried every one of these steps while writing this, using Visual
> Studio 8 on a Pentium4 Mobile running WinXP SP2 with a custom CMake
> and VTK from CVS (CMake 2.4 should work just fine, too), and I hope
> that there is no "other half" missing in the description ;-) Feel
> free to ask if you have any question.
>
>
> Regards
>
> Obada
>
More information about the vtkusers
mailing list