I try to compile a vtk example from here (<a href="http://www.vtk.org/Wiki/VTK/Examples/Cxx/ImageData/IterateImageData">http://www.vtk.org/Wiki/VTK/Examples/Cxx/ImageData/IterateImageData</a>)<div><font class="Apple-style-span" face="monospace" size="2"><span class="Apple-style-span" style="font-size: 10px; white-space: pre;"><font class="Apple-style-span" face="arial"><span class="Apple-style-span" style="white-space: normal; font-size: small;"><br>
</span></font></span></font></div><div><font class="Apple-style-span" face="monospace" size="2"><span class="Apple-style-span" style="font-size: 10px; white-space: pre;"><font class="Apple-style-span" face="arial"><span class="Apple-style-span" style="white-space: normal; font-size: small;">ImageData.cpp:</span></font></span></font></div>
<div><font class="Apple-style-span" face="monospace" size="2"><span class="Apple-style-span" style="font-size: 10px; white-space: pre;"><font class="Apple-style-span" face="arial"><span class="Apple-style-span" style="white-space: normal; font-size: small;"><div>
<b>#include &lt;vtkSmartPointer.h&gt;</b></div><div><b>#include &lt;vtkImageData.h&gt;</b></div><div><b><br></b></div><div><b>int main(int, char *[]) {</b></div><div><b><br></b></div><div><b><br></b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>        </b></span><b>// Create an image data</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>        </b></span><b>vtkSmartPointer &lt;vtkImageData&gt; imageData</b><span class="Apple-tab-span" style="white-space:pre"><b>        </b></span><b>= vtkSmartPointer&lt;vtkImageData&gt;::New();</b></div>
<div><b><br></b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>        </b></span><b>// Specify the size of the image data</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>        </b></span><b>imageData-&gt;SetDimensions(2, 3, 1);</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>        </b></span><b>imageData-&gt;SetNumberOfScalarComponents(1);</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>        </b></span><b>imageData-&gt;SetScalarTypeToDouble();</b></div>
<div><b><br></b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>        </b></span><b>int* dims = imageData-&gt;GetDimensions();</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>        </b></span><b>// int dims[3]; // can&#39;t do this</b></div>
<div><b><br></b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>        </b></span><b>std::cout &lt;&lt; &quot;Dims: &quot; &lt;&lt; &quot; x: &quot; &lt;&lt; dims[0] &lt;&lt; &quot; y: &quot; &lt;&lt; dims[1] &lt;&lt; &quot; z: &quot;</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b>&lt;&lt; dims[2] &lt;&lt; std::endl;</b></div><div><b><br></b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>        </b></span><b>std::cout &lt;&lt; &quot;Number of points: &quot; &lt;&lt; imageData-&gt;GetNumberOfPoints()</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b>&lt;&lt; std::endl;</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>        </b></span><b>std::cout &lt;&lt; &quot;Number of cells: &quot; &lt;&lt; imageData-&gt;GetNumberOfCells()</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b>&lt;&lt; std::endl;</b></div><div><b><br></b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>        </b></span><b>//fill every entry of the image data with &quot;2.0&quot;</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>        </b></span><b>for (int z = 0; z &lt; dims[2]; z++) {</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                </b></span><b>for (int y = 0; y &lt; dims[1]; y++) {</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b>for (int x = 0; x &lt; dims[0]; x++) {</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                                </b></span><b>double* pixel =</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>                                                </b></span><b>static_cast&lt;double*&gt; (imageData-&gt;GetScalarPointer(x, y,</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                                                                </b></span><b>z));</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>                                </b></span><b>pixel[0] = 2.0;</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b>}</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                </b></span><b>}</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>        </b></span><b>}</b></div><div><b><br></b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>        </b></span><b>//retrieve the entries from the image data and print them to the screen</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>        </b></span><b>for (int z = 0; z &lt; dims[2]; z++) {</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                </b></span><b>for (int y = 0; y &lt; dims[1]; y++) {</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b>for (int x = 0; x &lt; dims[0]; x++) {</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                                </b></span><b>double* pixel =</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>                                                </b></span><b>static_cast&lt;double*&gt; (imageData-&gt;GetScalarPointer(x, y,</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                                                                </b></span><b>z));</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>                                </b></span><b>// do something with v</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                                </b></span><b>std::cout &lt;&lt; pixel[0] &lt;&lt; &quot; &quot;;</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b>}</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                        </b></span><b>std::cout &lt;&lt; std::endl;</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>                </b></span><b>}</b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>                </b></span><b>std::cout &lt;&lt; std::endl;</b></div><div><span class="Apple-tab-span" style="white-space:pre"><b>        </b></span><b>}</b></div><div><b><br></b></div>
<div><span class="Apple-tab-span" style="white-space:pre"><b>        </b></span><b>return 0;</b></div><div><b>}</b></div><div><br></div><div><br></div><div>I compile it with command line:</div><div><b>g++ -Wno-deprecated -I/home/megauser/libs/vtk-installed/include/vtk-5.6/ -L/home/megauser/libs/vtk-installed/lib/vtk-5.6/ -lvtkHybrid ImageData.cpp</b></div>
<div><br></div><div>But I get this compilation errors:</div><div><div><b>/tmp/ccVO1Ty2.o: In function `main&#39;:</b></div><div><b>VtkImageDataWriter.cpp:(.text+0x6b): undefined reference to `vtkImageData::SetNumberOfScalarComponents(int)&#39;</b></div>
<div><b>/tmp/ccVO1Ty2.o: In function `vtkImageData::SetScalarTypeToDouble()&#39;:</b></div><div><b>VtkImageDataWriter.cpp:(.text._ZN12vtkImageData21SetScalarTypeToDoubleEv[vtkImageData::SetScalarTypeToDouble()]+0x15): undefined reference to `vtkImageData::SetScalarType(int)&#39;</b></div>
<div><b>/tmp/ccVO1Ty2.o: In function `vtkSmartPointer&lt;vtkImageData&gt;::~vtkSmartPointer()&#39;:</b></div><div><b>VtkImageDataWriter.cpp:(.text._ZN15vtkSmartPointerI12vtkImageDataED1Ev[vtkSmartPointer&lt;vtkImageData&gt;::~vtkSmartPointer()]+0xd): undefined reference to `vtkSmartPointerBase::~vtkSmartPointerBase()&#39;</b></div>
<div><b>/tmp/ccVO1Ty2.o: In function `vtkSmartPointer&lt;vtkImageData&gt;::New()&#39;:</b></div><div><b>VtkImageDataWriter.cpp:(.text._ZN15vtkSmartPointerI12vtkImageDataE3NewEv[vtkSmartPointer&lt;vtkImageData&gt;::New()]+0xe): undefined reference to `vtkImageData::New()&#39;</b></div>
<div><b>/tmp/ccVO1Ty2.o: In function `vtkSmartPointer&lt;vtkImageData&gt;::vtkSmartPointer(vtkImageData*, vtkSmartPointerBase::NoReference const&amp;)&#39;:</b></div><div><b>VtkImageDataWriter.cpp:(.text._ZN15vtkSmartPointerI12vtkImageDataEC1EPS0_RKN19vtkSmartPointerBase11NoReferenceE[vtkSmartPointer&lt;vtkImageData&gt;::vtkSmartPointer(vtkImageData*, vtkSmartPointerBase::NoReference const&amp;)]+0x1b): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&amp;)&#39;</b></div>
<div><b>collect2: ld returned 1 exit status</b></div></div><div><b><br></b></div><div>How to build this example properly?</div><div>Thanks!</div><div><br></div></span></font></span></font></div>