如何使用g ++链接到Windows上的VTK库

时间:2013-08-08 16:49:22

标签: vtk mingw32

我想使用命令行使用VTK库编译一个简单的程序:

g++ -IC:\VTK\Install\includes\vtk-5.10 SimpleTest.cpp -LC:\VTK\Install\lib
\vtk_5.10 -lvtkCommon -lvtkGraphics

SimpleTest.cpp

#include "vtkConeSource.h"

int main()
{
    vtkConeSource* cone = vtkConeSource::New();
    cone->SetHeight(5.0);   
    return 1;   
}

但我总是得到很多关于“未定义的引用”的错误。例如:

C:\ VTK \ Install \ lib \ vtk_5.10 / libvtkGraphics.a(vtkConeSource.cxx.obj):vtkConeSource.cxx :(。text + 0x1c):未定义引用`vtkInformationVector :: GetInformationObject(int)'

C:\ VTK \ Install \ lib \ vtk_5.10 / libvtkGraphics.a(vtkConeSource.cxx.obj):vtkConeSource.cxx :(。text + 0x24):未定义引用`vtkStreamingDemandDrivenPipeline :: MAXIMUM_NUMBER_OF_PIECES()'< / p>

C:\ VTK \ Install \ lib \ vtk_5.10 / libvtkGraphics.a(vtkConeSource.cxx.obj):vtkConeSource.cxx :(。text + 0x36):未定义引用`vtkInformation :: Set(vtkInformationIntegerKey *, INT)'

C:\ VTK \ Install \ lib \ vtk_5.10 / libvtkGraphics.a(vtkConeSource.cxx.obj):vtkConeSource.cxx :(。text + 0x85):对vtkPolyDataAlgorithm :: PrintSelf(std ::)的未定义引用ostream&amp;,vtkIndent)'

C:\ VTK \ Install \ lib \ vtk_5.10 / libvtkGraphics.a(vtkConeSource.cxx.obj):vtkConeSource.cxx :(。text + 0x9f):对运算符&lt;&lt;(std ::)的未定义引用ostream&amp;,vtkIndent const&amp;)'

还有更多......

我无法判断我是否使用了错误的g ++语法或者我的VTK库是否有问题。

我正在使用: VTK 5.10.1

minGW 4.7.2,32位

VTK是使用CMake 2.8.11.2

从minGW编译而来的

更新: 我确实找到了这个教程http://vtkblog.blogspot.com/2008/05/build-vtk-from-source-using-mingwmsys.html。但是我使用minGW32-make而不是安装MSYS并使用它的“make”。这可能是问题的一部分吗?

1 个答案:

答案 0 :(得分:0)

作为第一个测试,请尝试明确包含Install \ lib \ _ vtk_5.10中包含的所有vtk库 - 以确保这些未定义的引用不是来自那些缺少的库。