[CMake] Re: [vtkusers] Compilation Problem | WinXP, MSys, MinGW | undefined reference to `vtkDataArrayTemplate<int>::WritePointer(int, int)'

Martin Baumann mailsgetlost at web.de
Thu Feb 9 18:50:42 EST 2006


I use the MinGW-version available to download. It comes with gcc 3.4.2. 
Hmmm...

I had similar problems with other Utilities, just as you said. With your 
advice I could make it!
Now there are errors linking 'Filtering':

Linking CXX shared library ../bin/libvtkFiltering.dll
CMakeFiles/vtkFiltering.dir/vtkCellLocator.obj(.text$_ZN11vtkIntArray11InsertValueEii[vtkIntArray::InsertValue(int, int)]+0x1b):vtkCellLocator.cxx: undefined reference to `vtkDataArrayTemplate<int>::InsertValue(int, int)'
CMakeFiles/vtkFiltering.dir/vtkCellLocator.obj(.text$_ZN14vtkIdTypeArray12WritePointerEii[vtkIdTypeArray::WritePointer(int, int)]+0x1b):vtkCellLocator.cxx: undefined reference to `vtkDataArrayTemplate<int>::WritePointer(int, int)'
CMakeFiles/vtkFiltering.dir/vtkCellTypes.obj(.text$_ZN20vtkUnsignedCharArray11InsertValueEih[vtkUnsignedCharArray::InsertValue(int, unsigned char)]+0x22):vtkCellTypes.cxx: undefined reference to `vtkDataArrayTemplate<unsigned char>::InsertValue(int, unsigned char)'
CMakeFiles/vtkFiltering.dir/vtkDataSet.obj(.text$_ZN20vtkUnsignedCharArray15InsertNextValueEh[vtkUnsignedCharArray::InsertNextValue(unsigned char)]+0x1b):vtkDataSet.cxx: undefined reference to `vtkDataArrayTemplate<unsigned char>::InsertNextValue(unsigned char)'
CMakeFiles/vtkFiltering.dir/vtkImplicitSum.obj(.text$_ZN14vtkDoubleArray15InsertNextValueEd[vtkDoubleArray::InsertNextValue(double)]+0x14):vtkImplicitSum.cxx: undefined reference to `vtkDataArrayTemplate<double>::InsertNextValue(double)'
CMakeFiles/vtkFiltering.dir/vtkOrderedTriangulator.obj(.text$_ZN14vtkIdTypeArray11InsertValueEii[vtkIdTypeArray::InsertValue(int, int)]+0x1b):vtkOrderedTriangulator.cxx: undefined reference to `vtkDataArrayTemplate<int>::InsertValue(int, int)'
CMakeFiles/vtkFiltering.dir/vtkOrderedTriangulator.obj(.text$_ZN14vtkIdTypeArray15InsertNextValueEi[vtkIdTypeArray::InsertNextValue(int)]+0x14):vtkOrderedTriangulator.cxx: undefined reference to `vtkDataArrayTemplate<int>::InsertNextValue(int)'
collect2: ld returned 1 exit status
make[2]: *** [bin/libvtkFiltering.dll] Error 1
make[1]: *** [Filtering/CMakeFiles/vtkFiltering.dir/all] Error 2
make: *** [all] Error 2


I couldn't found "declspec" or "export" in one file that could concern 
this problem.
Also the error looks different to the ones before.

I'm sorry for asking such technical questions but I have no idea what 
else to do to get this work.


Martin

Vincent Nicolas schrieb:

>
> It's due to the same problem... the symbol exist but it's not in the 
> correct format. The jpeg library define export/import for the 
> generation of the dll. But it's not defined in the vtkWin32Header, it 
> is in one of the jpeg files. I don't know which one because I've used 
> an already compiled jpeg library (I use it in my project). You can 
> easily find the file if you can search the whole directory after a 
> file containing the  "declspec" or "export" words.
>
> You may have same problems with other "Utilities" libraries like tiff, 
> freetype ...etc
>
> If you want, I can put my compiled version of VTK 5.0 on a website. I 
> compiled it with gcc 4.0, if yours is an earlier version it's no use.
>
> Vincent NICOLAS
> -----------------------------------------
> Communications and Remote Sensing Lab.
> Universite catholique de Louvain
> vincent.nicolas at tele.ucl.ac.be
> +32 (0)10 478555
> http://www.tele.ucl.ac.be
>
>
>
> Martin Baumann wrote:
>
>> I found out, that in the tif_jpeg.obj file the all symbols that 
>> cannot be referenced are included in the following way:
>>
>>                   U __imp__vtk_jpeg_abort
>> I want to stress that these are called __imp__vtk_jpeg_abort and NOT 
>> _imp__vtk_jpeg_abort (__ not _).
>> I am not sure wheter this is important or not.
>> As I read in a manual for tool nm the U stands for undefined, the 
>> symbol is used by the library but not defined by it.
>>
>> Martin
>>
>>
>>
>> Martin Baumann <mailsgetlost at web.de> schrieb am 09.02.06 17:18:23:
>>  
>>
>>> Hi Vincent,
>>>
>>> you were right. I did delete cache after I made changes you told me 
>>> in the first mail. Compiling looked good for about 25 minutes. Even 
>>> the place where compilation stoped before was done without error!
>>> But in the utilities subrirectory:
>>>
>>> Linking C shared library ../../bin/libvtktiff.dll
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x46):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_abort'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0xb5):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_std_error'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x102):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_CreateCompress'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x137):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_std_error'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x184):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_CreateDecompress'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x1c4):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_set_defaults'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x207):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_set_colorspace'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x251):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_set_quality'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x294):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_suppress_tables'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x2d7):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_start_compress'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x321):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_write_scanlines'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x367):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_write_raw_data'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x39f):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_finish_compress'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x3db):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_write_tables'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x41e):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_read_header'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x456):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_start_decompress'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x4a0):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_read_scanlines'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x4e6):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_read_raw_data'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x51e):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_finish_decompress'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x556):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_abort'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0x592):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_destroy'
>>> CMakeFiles/vtktiff.dir/tif_jpeg.obj(.text+0xa22):tif_jpeg.c: 
>>> undefined reference to `_imp__vtk_jpeg_resync_to_restart'
>>> collect2: ld returned 1 exit status
>>> make[2]: *** [bin/libvtktiff.dll] Error 1
>>> make[1]: *** [Utilities/vtktiff/CMakeFiles/vtktiff.dir/all] Error 2
>>> make: *** [all] Error 2
>>>
>>> Any idea what this could be caused by? vtktiff files were compiled 
>>> without any error...
>>>
>>> Martin
>>>
>>>
>>>
>>> Vincent Nicolas <vincent.nicolas at tele.ucl.ac.be> schrieb am 09.02.06 
>>> 16:11:20:
>>>    
>>>
>>>> On Thu, 09 Feb 2006 15:07:31 +0100
>>>> Martin Baumann <mailsgetlost at web.de> wrote:
>>>>
>>>>      
>>>>
>>>>> Hi Vincent,
>>>>>
>>>>> thanks for your advice! Sounded good, but in my case it seems to 
>>>>> be something else.
>>>>> I now changed BUILD_SHARED_LIBS to OFF. It seems to be compiled 
>>>>> without errors.
>>>>>
>>>>> The problem seems to have something to do with the Shared-Lib-Option.
>>>>>
>>>>> MB
>>>>>         
>>>>
>>>> Hi Martin,
>>>> It's normal to not having errors when compiling in static 
>>>> libraries. Dll export/import stuffs are only for dynamic linking.
>>>> So if you want to compile in shared libraries for windows, the 
>>>> solution I provide should works.
>>>>
>>>> Regards,
>>>>
>>>> Vincent NICOLAS
>>>> -----------------------------------------
>>>> Communications and Remote Sensing Lab.
>>>> Universite catholique de Louvain
>>>> vincent.nicolas at tele.ucl.ac.be
>>>> +32 (0)10 478555
>>>> http://www.tele.ucl.ac.be
>>>> _______________________________________________
>>>> 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
>>>>       
>>>
>>> __________________________________________________________________________ 
>>>
>>> Erweitern Sie FreeMail zu einem noch leistungsstarkeren 
>>> E-Mail-Postfach!       
>>> Mehr Infos unter http://freemail.web.de/home/landingpad/?mc=021131
>>>
>>> _______________________________________________
>>> 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
>>>     
>>
>>
>>
>> _______________________________________________________________
>> SMS schreiben mit WEB.DE FreeMail - einfach, schnell und
>> kostenguenstig. Jetzt gleich testen! http://f.web.de/?mc=021192
>>
>> _______________________________________________
>> 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
>>
>>
>>   
>
>
>


More information about the CMake mailing list