0

ITK、VTK、DCMTK、SoQT (とりわけ...) などのいくつかの既存のツールの組み合わせに基づいて、QT でアプリケーションの開発に取り組んでいます。

この混乱全体をコンパイルしようとしていますが、何度か試行した後、このエラーを取得せずにはいられません:


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

私が使用しているソフトウェアのバージョンに関しては、 ITK: 4.3.1 VTK: 5.10.1 SoQT: 1.5.1 DCMTK: 3.6.1 (2012 年 11 月 2 日のスナップショット)

これまでのところ、プログラムが探しているすべてのファイルが既にそこにあるため、エラーはライブラリ VTK ライブラリの動的リンクと静的リンクに関係していると思います!

私の問題を解決するためにあなたが注ぐかもしれないどんな光も大歓迎です!!

前もって感謝します!

4

1 に答える 1

0

vtkIOのようないくつかのvtkライブラリにリンクしていないようです。CMakeでは、コンパイルするアプリケーションのTARGET_LINK_LIBRARIES()に$ {VTK_LIBRARIES}を追加することで、各vtkライブラリを指定する必要がなくなります。

于 2013-02-12T18:18:53.360 に答える