I'm working in the development of an application in QT, based on the combination of several already existing tools such as: ITK, VTK, DCMTK and SoQT (among others...).
I'm trying to compile this whole mess and after several attempts, I can't help but obtaining this error:
Undefined symbols for architecture x86_64:
"vtkPolyDataReader::New()", referenced from:
ModelBuildingControl::extractProfileModels(unsigned int)in ModelBuildingControl.cpp.o
ModelBuildingControl::loadModel() in ModelBuildingControl.cpp.o
vtkPolydata2Points::vtkPolydata2Points()in vtkPolydata2Points.cpp.o
vtkPolydata2Points::vtkPolydata2Points()in vtkPolydata2Points.cpp.o
"vtkPolyDataReader::GetOutput()", referenced from:
ModelBuildingControl::extractProfileModels(unsigned int)in ModelBuildingControl.cpp.o
vtkPolydata2Points::readSurfaceFromFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)in vtkPolydata2Points.cpp.o
"vtkPolyDataReader::SetOutput(vtkPolyData*)", referenced from:
ModelBuildingControl::loadModel() in ModelBuildingControl.cpp.o
"vtkStructuredPointsReader::New()", referenced from:
ModelBuildingControl::transformVolume() in ModelBuildingControl.cpp.o
ModelBuildingControl::transformAtlasInNaturalCOS(QString, QString) in ModelBuildingControl.cpp.o
ModelBuildingControl::landmarkDist() in ModelBuildingControl.cpp.o
"vtkStructuredPointsReader::GetOutput()", referenced from:
ModelBuildingControl::transformVolume() in ModelBuildingControl.cpp.o
ModelBuildingControl::transformAtlasInNaturalCOS(QString, QString) in ModelBuildingControl.cpp.o
"vtkStructuredPointsWriter::New()", referenced from:
ModelBuildingControl::transformVolume() in ModelBuildingControl.cpp.o
ModelBuildingControl::transformAtlasInNaturalCOS(QString, QString) in ModelBuildingControl.cpp.o
ModelBuildingControl::buildAtlas() in ModelBuildingControl.cpp.o
ModelBuildingControl::exportPatientVolumes() in ModelBuildingControl.cpp.o
"vtkWriter::SetInput(vtkDataObject*)", referenced from:
ModelBuildingControl::transformVolume() in ModelBuildingControl.cpp.o
ModelBuildingControl::transformAtlasInNaturalCOS(QString, QString) in ModelBuildingControl.cpp.o
ModelBuildingControl::warpLensAtlasIntoPatients(std::basic_ofstream<char, std::char_traits<char> >&, vtkPolyData*, QString)in ModelBuildingControl.cpp.o
ModelBuildingControl::warpScleraAtlasIntoPatients(std::basic_ofstream<char, std::char_traits<char> >&, vtkPolyData*, QString)in ModelBuildingControl.cpp.o
ModelBuildingControl::landmarkDist() in ModelBuildingControl.cpp.o
ModelBuildingControl::buildAtlas() in ModelBuildingControl.cpp.o
ModelBuildingControl::exportPatientVolumes() in ModelBuildingControl.cpp.o
...
"vtkPolyDataWriter::New()", referenced from:
ModelBuildingControl::warpLensAtlasIntoPatients(std::basic_ofstream<char, std::char_traits<char> >&, vtkPolyData*, QString)in ModelBuildingControl.cpp.o
ModelBuildingControl::warpScleraAtlasIntoPatients(std::basic_ofstream<char, std::char_traits<char> >&, vtkPolyData*, QString)in ModelBuildingControl.cpp.o
ModelBuildingControl::landmarkDist() in ModelBuildingControl.cpp.o
Points2vtkPolydata::Points2vtkPolydata()in Points2vtkPolydata.cpp.o
Points2vtkPolydata::Points2vtkPolydata()in Points2vtkPolydata.cpp.o
"vtkStructuredPointsReader::SetOutput(vtkStructuredPoints*)", referenced from:
ModelBuildingControl::landmarkDist() in ModelBuildingControl.cpp.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
Regarding the versions of the software I'm using, they are: ITK: 4.3.1 VTK: 5.10.1 SoQT: 1.5.1 DCMTK: 3.6.1 (snapshot at 2012-11-02)
So far, I think the error has something to do with the dynamic and static linking of the libraries VTK libraries, as all the files the program is looking for are already there!
Any light you may shed into solving my problem will be more than welcome!!
Thanks in advance!