[Insight-developers] [CMake] Building Matlab Mex extensions that link to ITK?

Williams, Norman K norman-k-williams at uiowa.edu
Wed Nov 20 10:08:27 EST 2013


The problem is even stranger than that.

In my CMakeLists.txt I am using (sort of) the 'stub + library' method
suggested by Matt McCormick. But I'm not doing exactly what he did; I try
and get all the libraries needed to link and pass them in to MEX.  This
ALMOST works, but ITK_LIBRARIES doesn't list all the libraries needed,
hence I still get undefined externals -- stuff from vnl and gdcm.
Apparently there are library dependencies that are handled down in the
murk of CMake's build logic.

--------------------CMAKELISTS.TXT-----------------------
find_package(Matlab REQUIRED)

set(MEX_SOURCES nrrdLoadWithMetadata nrrdSaveWithMetadata
itkLoadWithMetadata itkSaveWithMetadata)
set(MEX_SHARED_OBJECTS "")
# get library locations for ITK libraries
set(_ITK_LIBS)
foreach(itklib ${ITK_LIBRARIES})
  if(TARGET ${itklib})
    get_property(itk_lib_path TARGET ${itklib} PROPERTY LOCATION)
    list(APPEND _ITK_LIBS "${itk_lib_path}")
  else()
    list(APPEND _ITK_LIBS "${itklib}")
  endif()
endforeach()

foreach(MEX_PREFIX ${MEX_SOURCES})
  # stick actual code in static lib
  add_library(${MEX_PREFIX} STATIC ${MEX_PREFIX}.cxx)
  # link in all necessary libraries
  target_link_libraries(${MEX_PREFIX} ${Teem_LIBRARIES}
    ${ITK_LIBRARIES}
    ${ZLIB_LIBRARY})

  get_property(mex_lib_path TARGET ${MEX_PREFIX} PROPERTY LOCATION)

  set(MEX_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}/${MEX_PREFIX}Stub.cxx)
  set(MEX_OBJECT_NAME ${MEX_PREFIX}.${MATLAB_MEX_EXT})
  list(APPEND MEX_SHARED_OBJECTS ${MEX_OBJECT_NAME})

  add_custom_command(OUTPUT ${MEX_PREFIX}.${MATLAB_MEX_EXT}
    ## HACK: The next line needs to be more general
    COMMAND ${MATLAB_MEX_PATH} -cxx ${CMAKE_CXX_FLAGS_Release}
${MEX_SRC_PATH}
    ${mex_lib_path}
    ${_ITK_LIBS}
    -L${Teem_LIBRARY_DIR} -lteem
    ${ZLIB_LIBRARY}
    DEPENDS ${MEX_PREFIX} ${MEX_SRC_PATH}
    IMPLICIT_DEPENDS C ${MEX_SRC_PATH}
    WORKING_DIRECTORY ${${PRIMARY_PROJECT_NAME}_SOURCE_DIR}/MATLAB_SCRIPTS
    COMMENT "BUILDING MEX_FILE: ${MEX_SRC_PATH}" )
endforeach()

add_custom_target(MEX_BLD ALL
  DEPENDS ${MEX_SHARED_OBJECTS}
  #[WORKING_DIRECTORY dir]
  COMMENT "BUILDING TARGET MEX_FILE: ${MEX_SRC}"
  SOURCES ${MATLAB_MEX_PATH} )

-------------------------Build
Output---------------------------------------------

make-- Configuring done
-- Generating done
-- Build files have been written to:
/Volumes/scratch/kent/CompressedSensingDWI/build/CompressedSensingDWI-build
[  0%] Built target CompressedSensingDWIFetchData
[ 11%] Built target itkSaveWithMetadata
[ 22%] Built target nrrdSaveWithMetadata
[ 33%] Built target nrrdLoadWithMetadata
[ 44%] Built target itkLoadWithMetadata
[ 55%] BUILDING MEX_FILE:
/Volumes/scratch/kent/CompressedSensingDWI/CompressedSensingDWI/mexFiles/it
kSaveWithMetadataStub.cxx
[ 66%] BUILDING MEX_FILE:
/Volumes/scratch/kent/CompressedSensingDWI/CompressedSensingDWI/mexFiles/nr
rdLoadWithMetadataStub.cxx
[ 77%] BUILDING MEX_FILE:
/Volumes/scratch/kent/CompressedSensingDWI/CompressedSensingDWI/mexFiles/nr
rdSaveWithMetadataStub.cxx
[ 88%] BUILDING MEX_FILE:
/Volumes/scratch/kent/CompressedSensingDWI/CompressedSensingDWI/mexFiles/it
kLoadWithMetadataStub.cxx
Undefined symbols for architecture x86_64:
  "vnl_vector<char>::set_size(unsigned int)", referenced from:
      itk::Array<char>::SetSize(unsigned int) in
libITKIOHDF5-4.5.a(itkHDF5ImageIO.cxx.o)
  "vnl_vector<char>::vnl_vector(vnl_vector<char> const&)", referenced from:
      itk::Array<char>::Array(itk::Array<char> const&) in
libITKIOHDF5-4.5.a(itkHDF5ImageIO.cxx.o)
  "vnl_vector<char>::vnl_vector(unsigned int)", referenced from:
      itk::Array<char>::Array(unsigned int) in
libITKIOHDF5-4.5.a(itkHDF5ImageIO.cxx.o)
  "vnl_vector<char>::~vnl_vector()", referenced from:
      itk::Array<char>::~Array() in
libITKIOHDF5-4.5.a(itkHDF5ImageIO.cxx.o)
  "vnl_vector<char>::operator=(vnl_vector<char> const&)", referenced from:
      itk::Array<char>::operator=(itk::Array<char> const&) in
libITKIOHDF5-4.5.a(itkHDF5ImageIO.cxx.o)
  "vnl_vector<short>::set_size(unsigned int)", referenced from:
      itk::Array<short>::SetSize(unsigned int) in
libITKIOHDF5-4.5.a(itkHDF5ImageIO.cxx.o)
  "vnl_vector<short>::vnl_vector(vnl_vector<short> const&)", referenced
from:
      itk::Array<short>::Array(itk::Array<short> const&) in
libITKIOHDF5-4.5.a(itkHDF5ImageIO.cxx.o)
  "vnl_vector<short>::vnl_vector(unsigned int)", referenced from:
      itk::Array<short>::Array(unsigned int) in
libITKIOHDF5-4.5.a(itkHDF5ImageIO.cxx.o)
  "vnl_vector<short>::~vnl_vector()", referenced from:
      itk::Array<short>::~Array() in
libITKIOHDF5-4.5.a(itkHDF5ImageIO.cxx.o)
  "vnl_vector<short>::operator=(vnl_vector<short> const&)", referenced
from:
      itk::Array<short>::operator=(itk::Array<short> const&) in
libITKIOHDF5-4.5.a(itkHDF5ImageIO.cxx.o)
  "gdcm::DataElement::SetVLToUndefined()", referenced from:
      gdcm::ImageHelper::SetSpacingValue(gdcm::DataSet&,
std::vector<double, std::allocator<double> > const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::SetDataElementInSQAsItemNumber(gdcm::DataSet&,
gdcm::DataElement const&, gdcm::Tag const&, unsigned int) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::SetDirectionCosinesValue(gdcm::DataSet&,
std::vector<double, std::allocator<double> > const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::SetRescaleInterceptSlopeValue(gdcm::File&,
gdcm::Image const&) in libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::FileExplicitFilter::ProcessDataSet(gdcm::DataSet&, gdcm::Dicts
const&) in libitkgdcmMSFF-4.5.a(gdcmFileExplicitFilter.cxx.o)
      gdcm::PixmapWriter::PrepareWrite() in
libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)
  "gdcm::MediaStorage::GetMSString(gdcm::MediaStorage::MSType)",
referenced from:
      gdcm::operator<<(std::ostream&, gdcm::MediaStorage const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::PixmapReader::Read() in
libitkgdcmMSFF-4.5.a(gdcmPixmapReader.cxx.o)
      gdcm::PixmapWriter::PrepareWrite() in
libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)
  "gdcm::MediaStorage::SetFromFile(gdcm::File const&)", referenced from:
      gdcm::ImageHelper::GetOriginValue(gdcm::File const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::GetDirectionCosinesValue(gdcm::File const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::GetRescaleInterceptSlopeValue(gdcm::File const&)
in libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::GetSpacingValue(gdcm::File const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::SetRescaleInterceptSlopeValue(gdcm::File&,
gdcm::Image const&) in libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageWriter::Write() in
libitkgdcmMSFF-4.5.a(gdcmImageWriter.cxx.o)
      gdcm::PixmapReader::Read() in
libitkgdcmMSFF-4.5.a(gdcmPixmapReader.cxx.o)
      ...
  "gdcm::MediaStorage::SetFromDataSet(gdcm::DataSet const&)", referenced
from:
      gdcm::ImageHelper::SetSpacingValue(gdcm::DataSet&,
std::vector<double, std::allocator<double> > const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::SetOriginValue(gdcm::DataSet&, gdcm::Image
const&) in libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::SetDirectionCosinesValue(gdcm::DataSet&,
std::vector<double, std::allocator<double> > const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
  "gdcm::MediaStorage::IsImage(gdcm::MediaStorage::MSType)", referenced
from:
      gdcm::ImageHelper::SetSpacingValue(gdcm::DataSet&,
std::vector<double, std::allocator<double> > const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::SetOriginValue(gdcm::DataSet&, gdcm::Image
const&) in libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::SetDirectionCosinesValue(gdcm::DataSet&,
std::vector<double, std::allocator<double> > const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::SetRescaleInterceptSlopeValue(gdcm::File&,
gdcm::Image const&) in libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::PixmapReader::Read() in
libitkgdcmMSFF-4.5.a(gdcmPixmapReader.cxx.o)
      gdcm::PixmapReader::ReadImage(gdcm::MediaStorage const&) in
libitkgdcmMSFF-4.5.a(gdcmPixmapReader.cxx.o)
  "gdcm::MediaStorage::GetMSType(char const*)", referenced from:
      gdcm::PixmapReader::Read() in
libitkgdcmMSFF-4.5.a(gdcmPixmapReader.cxx.o)
  "gdcm::TransferSyntax::GetTSString(gdcm::TransferSyntax::TSType)",
referenced from:
      gdcm::operator<<(std::ostream&, gdcm::TransferSyntax const&) in
libitkgdcmMSFF-4.5.a(gdcmImage.cxx.o)
      gdcm::PixmapWriter::PrepareWrite() in
libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)
  "gdcm::Unpacker12Bits::Unpack(char*, char const*, unsigned long)",
referenced from:
      gdcm::RAWCodec::Decode(gdcm::DataElement const&, gdcm::DataElement&)
in libitkgdcmMSFF-4.5.a(gdcmRAWCodec.cxx.o)
  "gdcm::SequenceOfItems::AddItem(gdcm::Item const&)", referenced from:
      gdcm::ImageHelper::SetSpacingValue(gdcm::DataSet&,
std::vector<double, std::allocator<double> > const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::SetDataElementInSQAsItemNumber(gdcm::DataSet&,
gdcm::DataElement const&, gdcm::Tag const&, unsigned int) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::SetDirectionCosinesValue(gdcm::DataSet&,
std::vector<double, std::allocator<double> > const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::SetRescaleInterceptSlopeValue(gdcm::File&,
gdcm::Image const&) in libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::PixmapWriter::DoIconImage(gdcm::DataSet&, gdcm::Pixmap const&)
in libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)
      gdcm::PixmapWriter::PrepareWrite() in
libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)
  "gdcm::SequenceOfItems::GetItem(unsigned long)", referenced from:
      gdcm::GetOriginValueFromSequence(gdcm::DataSet const&, gdcm::Tag
const&, std::vector<double, std::allocator<double> >&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::GetDirectionCosinesValueFromSequence(gdcm::DataSet const&,
gdcm::Tag const&, std::vector<double, std::allocator<double> >&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::GetInterceptSlopeValueFromSequence(gdcm::DataSet const&,
gdcm::Tag const&, std::vector<double, std::allocator<double> >&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ComputeZSpacingFromIPP(gdcm::DataSet const&, double&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::GetSpacingValueFromSequence(gdcm::DataSet const&, gdcm::Tag
const&, std::vector<double, std::allocator<double> >&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::GetUltraSoundSpacingValueFromSequence(gdcm::DataSet const&,
std::vector<double, std::allocator<double> >&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::SetSpacingValue(gdcm::DataSet&,
std::vector<double, std::allocator<double> > const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      ...
  "gdcm::FileMetaInformation::FillFromDataSet(gdcm::DataSet const&)",
referenced from:
      gdcm::PixmapWriter::PrepareWrite() in
libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)

"gdcm::FileMetaInformation::SetDataSetTransferSyntax(gdcm::TransferSyntax
const&)", referenced from:
      gdcm::PixmapWriter::PrepareWrite() in
libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)
  "gdcm::FileMetaInformation::AppendImplementationClassUID(char const*)",
referenced from:
      itk::GDCMImageIO::Write(void const*) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
  "gdcm::FileMetaInformation::SetSourceApplicationEntityTitle(char
const*)", referenced from:
      itk::GDCMImageIO::Write(void const*) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
  "gdcm::SequenceOfFragments::AddFragment(gdcm::Fragment const&)",
referenced from:
      gdcm::JPEG2000Codec::Code(gdcm::DataElement const&,
gdcm::DataElement&) in libitkgdcmMSFF-4.5.a(gdcmJPEG2000Codec.cxx.o)
      gdcm::RLECodec::Code(gdcm::DataElement const&, gdcm::DataElement&)
in libitkgdcmMSFF-4.5.a(gdcmRLECodec.cxx.o)
      gdcm::JPEGCodec::Code(gdcm::DataElement const&, gdcm::DataElement&)
in libitkgdcmMSFF-4.5.a(gdcmJPEGCodec.cxx.o)
  "gdcm::VM::GetVMTypeFromLength(unsigned int, unsigned int)", referenced
from:
      gdcm::StringFilter::FromString(gdcm::Tag const&, char const*,
unsigned long) in libitkgdcmMSFF-4.5.a(gdcmStringFilter.cxx.o)
  "gdcm::VM::GetNumberOfElementsFromArray(char const*, unsigned int)",
referenced from:
      gdcm::StringFilter::FromString(gdcm::Tag const&, char const*,
unsigned long) in libitkgdcmMSFF-4.5.a(gdcmStringFilter.cxx.o)
  "gdcm::VR::GetVRString(gdcm::VR::VRType)", referenced from:
      gdcm::operator<<(std::ostream&, gdcm::VR const&) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::operator<<(std::ostream&, gdcm::VR const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::operator<<(std::ostream&, gdcm::VR const&) in
libitkgdcmMSFF-4.5.a(gdcmImageWriter.cxx.o)
      gdcm::operator<<(std::ostream&, gdcm::VR const&) in
libitkgdcmMSFF-4.5.a(gdcmStringFilter.cxx.o)
      gdcm::operator<<(std::ostream&, gdcm::VR const&) in
libitkgdcmMSFF-4.5.a(gdcmFileExplicitFilter.cxx.o)
      gdcm::operator<<(std::ostream&, gdcm::VR const&) in
libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)
  "gdcm::VR::IsASCII(gdcm::VR::VRType)", referenced from:
      gdcm::StringFilter::ToStringPair(gdcm::Tag const&, gdcm::DataSet
const&) const in libitkgdcmMSFF-4.5.a(gdcmStringFilter.cxx.o)
      gdcm::StringFilter::FromString(gdcm::Tag const&, char const*,
unsigned long) in libitkgdcmMSFF-4.5.a(gdcmStringFilter.cxx.o)
  "gdcm::Tag::ReadFromPipeSeparatedString(char const*)", referenced from:
      itk::GDCMImageIO::Write(void const*) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      itk::GDCMImageIO::GetLabelFromTag(std::string const&, std::string&)
in libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
  "gdcm::Defs::LoadFromFile(char const*)", referenced from:
      gdcm::Global::LoadResourcesFiles() in
libitkgdcmDICT-4.5.a(gdcmGlobal.cxx.o)
  "gdcm::Defs::Defs()", referenced from:
      gdcm::GlobalInternal::GlobalInternal() in
libitkgdcmDICT-4.5.a(gdcmGlobal.cxx.o)
  "gdcm::Defs::~Defs()", referenced from:
      gdcm::GlobalInternal::~GlobalInternal() in
libitkgdcmDICT-4.5.a(gdcmGlobal.cxx.o)
      gdcm::GlobalInternal::GlobalInternal() in
libitkgdcmDICT-4.5.a(gdcmGlobal.cxx.o)
  "gdcm::Trace::GetDebugFile()", referenced from:
      gdcm::FileMetaInformation::Insert(gdcm::DataElement const&) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::DataSet::Insert(gdcm::DataElement const&) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::PixelFormat::SetSamplesPerPixel(unsigned short) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::DataSet::InsertDataElement(gdcm::DataElement const&) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::ByteValue::ByteValue(char const*, gdcm::VL const&) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::ByteValue::SetLength(gdcm::VL) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::ComputeZSpacingFromIPP(gdcm::DataSet const&, double&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      ...
  "gdcm::Trace::GetDebugFlag()", referenced from:
      gdcm::ByteValue::ByteValue(char const*, gdcm::VL const&) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::ByteValue::SetLength(gdcm::VL) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::ImageHelper::GetSpacingTagFromMediaStorage(gdcm::MediaStorage
const&) in libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::GetZSpacingTagFromMediaStorage(gdcm::MediaStorage
const&) in libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ByteValue::ByteValue(char const*, gdcm::VL const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ByteValue::SetLength(gdcm::VL) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ByteValue::ByteValue(char const*, gdcm::VL const&) in
libitkgdcmMSFF-4.5.a(gdcmImageWriter.cxx.o)
      ...
  "gdcm::Trace::GetErrorFlag()", referenced from:
      gdcm::FileMetaInformation::Insert(gdcm::DataElement const&) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::DataSet::Insert(gdcm::DataElement const&) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::ComputeZSpacingFromIPP(gdcm::DataSet const&, double&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::GetDirectionCosinesValue(gdcm::File const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::DataSet::Insert(gdcm::DataElement const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::DataSet::Insert(gdcm::DataElement const&) in
libitkgdcmMSFF-4.5.a(gdcmImageWriter.cxx.o)
      gdcm::PixelFormat::GetScalarType() const in
libitkgdcmMSFF-4.5.a(gdcmPixelFormat.cxx.o)
      ...
  "gdcm::Trace::GetDebugToFile()", referenced from:
      gdcm::FileMetaInformation::Insert(gdcm::DataElement const&) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::DataSet::Insert(gdcm::DataElement const&) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::PixelFormat::SetSamplesPerPixel(unsigned short) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::DataSet::InsertDataElement(gdcm::DataElement const&) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::ByteValue::ByteValue(char const*, gdcm::VL const&) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::ByteValue::SetLength(gdcm::VL) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::ComputeZSpacingFromIPP(gdcm::DataSet const&, double&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      ...
  "gdcm::Trace::GetWarningFlag()", referenced from:
      gdcm::DataSet::InsertDataElement(gdcm::DataElement const&) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::ComputeZSpacingFromIPP(gdcm::DataSet const&, double&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::GetDirectionCosinesFromDataSet(gdcm::DataSet
const&, std::vector<double, std::allocator<double> >&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::GetDirectionCosinesValue(gdcm::File const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::GetRescaleInterceptSlopeValueFromDataSet(gdcm::DataSet const&,
std::vector<double, std::allocator<double> >&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::GetSpacingTagFromMediaStorage(gdcm::MediaStorage
const&) in libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::GetZSpacingTagFromMediaStorage(gdcm::MediaStorage
const&) in libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      ...
  "gdcm::Reader::Read()", referenced from:
      gdcm::PixmapReader::Read() in
libitkgdcmMSFF-4.5.a(gdcmPixmapReader.cxx.o)
  "gdcm::Reader::~Reader()", referenced from:
      gdcm::PixmapReader::PixmapReader() in
libitkgdcmMSFF-4.5.a(gdcmPixmapReader.cxx.o)
      gdcm::PixmapReader::~PixmapReader() in
libitkgdcmMSFF-4.5.a(gdcmPixmapReader.cxx.o)
  "gdcm::System::FileExists(char const*)", referenced from:
      gdcm::Global::Locate(char const*) const in
libitkgdcmDICT-4.5.a(gdcmGlobal.cxx.o)
  "gdcm::System::StrCaseCmp(char const*, char const*)", referenced from:
      gdcm::PrivateTag::operator<(gdcm::PrivateTag const&) const in
libitkgdcmDICT-4.5.a(gdcmDicts.cxx.o)
      gdcm::PrivateTag::operator<(gdcm::PrivateTag const&) const in
libitkgdcmDICT-4.5.a(gdcmPrivateDefaultDicts.cxx.o)
  "gdcm::System::EncodeBytes(char*, unsigned char const*, int)",
referenced from:
      gdcm::UIDGenerator::Generate2() in
libitkgdcmMSFF-4.5.a(gdcmUIDGenerator.cxx.o)
      gdcm::UIDGenerator::Generate() in
libitkgdcmMSFF-4.5.a(gdcmUIDGenerator.cxx.o)
  "gdcm::System::FileIsDirectory(char const*)", referenced from:
      gdcm::Global::Append(char const*) in
libitkgdcmDICT-4.5.a(gdcmGlobal.cxx.o)
      gdcm::Global::Prepend(char const*) in
libitkgdcmDICT-4.5.a(gdcmGlobal.cxx.o)
  "gdcm::System::GetCurrentDateTime(char*)", referenced from:
      gdcm::ImageWriter::Write() in
libitkgdcmMSFF-4.5.a(gdcmImageWriter.cxx.o)
      gdcm::UIDGenerator::Generate2() in
libitkgdcmMSFF-4.5.a(gdcmUIDGenerator.cxx.o)
  "gdcm::System::GetHardwareAddress(unsigned char*)", referenced from:
      gdcm::UIDGenerator::Generate2() in
libitkgdcmMSFF-4.5.a(gdcmUIDGenerator.cxx.o)
  "gdcm::System::GetCurrentProcessFileName()", referenced from:
      gdcm::GlobalInternal::LoadDefaultPaths() in
libitkgdcmDICT-4.5.a(gdcmGlobal.cxx.o)
  "gdcm::System::GetCurrentResourcesDirectory()", referenced from:
      gdcm::GlobalInternal::LoadDefaultPaths() in
libitkgdcmDICT-4.5.a(gdcmGlobal.cxx.o)
  "gdcm::Writer::Write()", referenced from:
      gdcm::ImageWriter::Write() in
libitkgdcmMSFF-4.5.a(gdcmImageWriter.cxx.o)
      gdcm::PixmapWriter::Write() in
libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)
  "gdcm::Writer::~Writer()", referenced from:
      gdcm::PixmapWriter::PixmapWriter() in
libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)
      gdcm::PixmapWriter::~PixmapWriter() in
libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)
  "gdcm::Filename::GetPath()", referenced from:
      gdcm::GlobalInternal::LoadDefaultPaths() in
libitkgdcmDICT-4.5.a(gdcmGlobal.cxx.o)
  "gdcm::Preamble::Preamble()", referenced from:
      gdcm::FileMetaInformation::FileMetaInformation() in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::FileMetaInformation::FileMetaInformation() in
libitkgdcmMSFF-4.5.a(gdcmStringFilter.cxx.o)
      gdcm::FileMetaInformation::FileMetaInformation() in
libitkgdcmMSFF-4.5.a(gdcmPixmapReader.cxx.o)
      gdcm::FileMetaInformation::FileMetaInformation() in
libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)
  "gdcm::Preamble::~Preamble()", referenced from:
      gdcm::FileMetaInformation::~FileMetaInformation() in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::FileMetaInformation::~FileMetaInformation() in
libitkgdcmMSFF-4.5.a(gdcmStringFilter.cxx.o)
      gdcm::FileMetaInformation::~FileMetaInformation() in
libitkgdcmMSFF-4.5.a(gdcmPixmapReader.cxx.o)
      gdcm::FileMetaInformation::~FileMetaInformation() in
libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)
  "gdcm::DataElement::GetValueAsSQ() const", referenced from:
      gdcm::GetOriginValueFromSequence(gdcm::DataSet const&, gdcm::Tag
const&, std::vector<double, std::allocator<double> >&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::GetDirectionCosinesValueFromSequence(gdcm::DataSet const&,
gdcm::Tag const&, std::vector<double, std::allocator<double> >&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::GetInterceptSlopeValueFromSequence(gdcm::DataSet const&,
gdcm::Tag const&, std::vector<double, std::allocator<double> >&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ComputeZSpacingFromIPP(gdcm::DataSet const&, double&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::GetSpacingValueFromSequence(gdcm::DataSet const&, gdcm::Tag
const&, std::vector<double, std::allocator<double> >&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::GetUltraSoundSpacingValueFromSequence(gdcm::DataSet const&,
std::vector<double, std::allocator<double> >&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::SetSpacingValue(gdcm::DataSet&,
std::vector<double, std::allocator<double> > const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      ...
  "gdcm::DataElement::GetSequenceOfFragments() const", referenced from:
      gdcm::FileExplicitFilter::ProcessDataSet(gdcm::DataSet&, gdcm::Dicts
const&) in libitkgdcmMSFF-4.5.a(gdcmFileExplicitFilter.cxx.o)
      gdcm::Bitmap::TryJPEGCodec(char*, bool&) const in
libitkgdcmMSFF-4.5.a(gdcmBitmap.cxx.o)
      gdcm::Bitmap::TryJPEGLSCodec(char*, bool&) const in
libitkgdcmMSFF-4.5.a(gdcmBitmap.cxx.o)
      gdcm::Bitmap::TryJPEG2000Codec(char*, bool&) const in
libitkgdcmMSFF-4.5.a(gdcmBitmap.cxx.o)
      gdcm::PixmapReader::ReadImage(gdcm::MediaStorage const&) in
libitkgdcmMSFF-4.5.a(gdcmPixmapReader.cxx.o)
      gdcm::JPEG2000Codec::Decode(gdcm::DataElement const&,
gdcm::DataElement&) in libitkgdcmMSFF-4.5.a(gdcmJPEG2000Codec.cxx.o)
      gdcm::RLECodec::Decode(gdcm::DataElement const&, gdcm::DataElement&)
in libitkgdcmMSFF-4.5.a(gdcmRLECodec.cxx.o)
      ...
  "gdcm::MediaStorage::GetModality() const", referenced from:
      gdcm::ImageWriter::Write() in
libitkgdcmMSFF-4.5.a(gdcmImageWriter.cxx.o)
  "gdcm::TransferSyntax::IsExplicit() const", referenced from:
      gdcm::ImageApplyLookupTable::Apply() in
libitkgdcmMSFF-4.5.a(gdcmImageApplyLookupTable.cxx.o)
      gdcm::PixmapWriter::DoIconImage(gdcm::DataSet&, gdcm::Pixmap const&)
in libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)
      gdcm::PixmapWriter::PrepareWrite() in
libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)
  "gdcm::TransferSyntax::IsImplicit() const", referenced from:
      gdcm::ImageApplyLookupTable::Apply() in
libitkgdcmMSFF-4.5.a(gdcmImageApplyLookupTable.cxx.o)
      gdcm::ImageChangePlanarConfiguration::Change() in
libitkgdcmMSFF-4.5.a(gdcmImageChangePlanarConfiguration.cxx.o)
      gdcm::PixmapWriter::DoIconImage(gdcm::DataSet&, gdcm::Pixmap const&)
in libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)
      gdcm::PixmapWriter::PrepareWrite() in
libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)
  "gdcm::TransferSyntax::IsLossless() const", referenced from:
      gdcm::JPEG2000Codec::GetHeaderInfo(char const*, unsigned long,
gdcm::TransferSyntax&) in libitkgdcmMSFF-4.5.a(gdcmJPEG2000Codec.cxx.o)
  "gdcm::TransferSyntax::IsEncapsulated() const", referenced from:
      gdcm::ImageChangeTransferSyntax::Change() in
libitkgdcmMSFF-4.5.a(gdcmImageChangeTransferSyntax.cxx.o)
  "gdcm::TransferSyntax::IsLossy() const", referenced from:
      gdcm::ImageChangeTransferSyntax::Change() in
libitkgdcmMSFF-4.5.a(gdcmImageChangeTransferSyntax.cxx.o)
      gdcm::Bitmap::TryKAKADUCodec(char*, bool&) const in
libitkgdcmMSFF-4.5.a(gdcmBitmap.cxx.o)
      gdcm::Bitmap::TryJPEGLSCodec(char*, bool&) const in
libitkgdcmMSFF-4.5.a(gdcmBitmap.cxx.o)
      gdcm::Bitmap::TryJPEG2000Codec(char*, bool&) const in
libitkgdcmMSFF-4.5.a(gdcmBitmap.cxx.o)
      gdcm::PixmapWriter::PrepareWrite() in
libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)
      gdcm::JPEG2000Codec::GetHeaderInfo(char const*, unsigned long,
gdcm::TransferSyntax&) in libitkgdcmMSFF-4.5.a(gdcmJPEG2000Codec.cxx.o)
  "gdcm::ExplicitDataElement::GetLength() const", referenced from:
      gdcm::VL gdcm::DataElement::GetLength<gdcm::ExplicitDataElement>()
const in libitkgdcmMSFF-4.5.a(gdcmFileExplicitFilter.cxx.o)
  "gdcm::FileMetaInformation::GetMediaStorage() const", referenced from:
      gdcm::PixmapReader::Read() in
libitkgdcmMSFF-4.5.a(gdcmPixmapReader.cxx.o)
  "gdcm::SequenceOfFragments::GetFragment(unsigned long) const",
referenced from:
      gdcm::Bitmap::TryJPEGCodec(char*, bool&) const in
libitkgdcmMSFF-4.5.a(gdcmBitmap.cxx.o)
      gdcm::Bitmap::TryJPEGLSCodec(char*, bool&) const in
libitkgdcmMSFF-4.5.a(gdcmBitmap.cxx.o)
      gdcm::Bitmap::TryJPEG2000Codec(char*, bool&) const in
libitkgdcmMSFF-4.5.a(gdcmBitmap.cxx.o)
      gdcm::JPEG2000Codec::Decode(gdcm::DataElement const&,
gdcm::DataElement&) in libitkgdcmMSFF-4.5.a(gdcmJPEG2000Codec.cxx.o)
      gdcm::RLECodec::Decode(gdcm::DataElement const&, gdcm::DataElement&)
in libitkgdcmMSFF-4.5.a(gdcmRLECodec.cxx.o)
      gdcm::JPEGCodec::Decode(gdcm::DataElement const&,
gdcm::DataElement&) in libitkgdcmMSFF-4.5.a(gdcmJPEGCodec.cxx.o)
  "gdcm::SequenceOfFragments::WriteBuffer(std::ostream&) const",
referenced from:
      gdcm::PixmapReader::ReadImage(gdcm::MediaStorage const&) in
libitkgdcmMSFF-4.5.a(gdcmPixmapReader.cxx.o)
      gdcm::RLECodec::Decode(gdcm::DataElement const&, gdcm::DataElement&)
in libitkgdcmMSFF-4.5.a(gdcmRLECodec.cxx.o)
  "gdcm::SequenceOfFragments::ComputeByteLength() const", referenced from:
      gdcm::JPEG2000Codec::Decode(gdcm::DataElement const&,
gdcm::DataElement&) in libitkgdcmMSFF-4.5.a(gdcmJPEG2000Codec.cxx.o)
  "gdcm::SequenceOfFragments::GetNumberOfFragments() const", referenced
from:
      gdcm::JPEG2000Codec::Decode(gdcm::DataElement const&,
gdcm::DataElement&) in libitkgdcmMSFF-4.5.a(gdcmJPEG2000Codec.cxx.o)
      gdcm::JPEG2000Codec::Code(gdcm::DataElement const&,
gdcm::DataElement&) in libitkgdcmMSFF-4.5.a(gdcmJPEG2000Codec.cxx.o)
      gdcm::RLECodec::Decode(gdcm::DataElement const&, gdcm::DataElement&)
in libitkgdcmMSFF-4.5.a(gdcmRLECodec.cxx.o)
      gdcm::JPEGCodec::Decode(gdcm::DataElement const&,
gdcm::DataElement&) in libitkgdcmMSFF-4.5.a(gdcmJPEGCodec.cxx.o)
      gdcm::JPEGCodec::Code(gdcm::DataElement const&, gdcm::DataElement&)
in libitkgdcmMSFF-4.5.a(gdcmJPEGCodec.cxx.o)
  "gdcm::SequenceOfFragments::GetBuffer(char*, unsigned long) const",
referenced from:
      gdcm::JPEG2000Codec::Decode(gdcm::DataElement const&,
gdcm::DataElement&) in libitkgdcmMSFF-4.5.a(gdcmJPEG2000Codec.cxx.o)
  "gdcm::VM::Compatible(gdcm::VM const&) const", referenced from:
      gdcm::StringFilter::FromString(gdcm::Tag const&, char const*,
unsigned long) in libitkgdcmMSFF-4.5.a(gdcmStringFilter.cxx.o)
  "gdcm::VM::GetLength() const", referenced from:
      gdcm::ImageHelper::GetSpacingValue(gdcm::File const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::SetSpacingValue(gdcm::DataSet&,
std::vector<double, std::allocator<double> > const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::StringFilter::FromString(gdcm::Tag const&, char const*,
unsigned long) in libitkgdcmMSFF-4.5.a(gdcmStringFilter.cxx.o)
  "gdcm::VR::Compatible(gdcm::VR const&) const", referenced from:
      gdcm::ImageHelper::GetSpacingValue(gdcm::File const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::Attribute<(unsigned short)32, (unsigned short)50, 32,
4>::SetFromDataElement(gdcm::DataElement const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::Attribute<(unsigned short)32, (unsigned short)55, 32,
32>::SetFromDataElement(gdcm::DataElement const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::Attribute<(unsigned short)40, (unsigned short)4178, 32,
1>::SetFromDataElement(gdcm::DataElement const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::Attribute<(unsigned short)40, (unsigned short)4179, 32,
1>::SetFromDataElement(gdcm::DataElement const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::Attribute<(unsigned short)40, (unsigned short)48, 32,
2>::SetFromDataElement(gdcm::DataElement const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::Attribute<(unsigned short)24, (unsigned short)24620, 128,
1>::SetFromDataElement(gdcm::DataElement const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      ...
  "gdcm::VR::IsDual() const", referenced from:
      gdcm::StringFilter::ToStringPair(gdcm::Tag const&, gdcm::DataSet
const&) const in libitkgdcmMSFF-4.5.a(gdcmStringFilter.cxx.o)
      gdcm::StringFilter::FromString(gdcm::Tag const&, char const*,
unsigned long) in libitkgdcmMSFF-4.5.a(gdcmStringFilter.cxx.o)
  "gdcm::VR::IsVRFile() const", referenced from:
      itk::GDCMImageIO::Write(void const*) in
libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
      gdcm::DataSetHelper::ComputeVR(gdcm::File const&, gdcm::DataSet
const&, gdcm::Tag const&) in libitkgdcmMSFF-4.5.a(gdcmDataSetHelper.cxx.o)
  "gdcm::VR::GetSizeof() const", referenced from:
      gdcm::ImageHelper::GetSpacingValue(gdcm::File const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::ImageHelper::SetSpacingValue(gdcm::DataSet&,
std::vector<double, std::allocator<double> > const&) in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::StringFilter::FromString(gdcm::Tag const&, char const*,
unsigned long) in libitkgdcmMSFF-4.5.a(gdcmStringFilter.cxx.o)
  "gdcm::Tag::PrintAsPipeSeparatedString() const", referenced from:

itk::GDCMImageIO::InternalReadImageInformation(std::basic_ifstream<char,
std::char_traits<char> >&) in libITKIOGDCM-4.5.a(itkGDCMImageIO.cxx.o)
  "gdcm::DataSet::GetPrivateCreator(gdcm::Tag const&) const", referenced
from:
      gdcm::StringFilter::ToStringPair(gdcm::Tag const&, gdcm::DataSet
const&) const in libitkgdcmMSFF-4.5.a(gdcmStringFilter.cxx.o)
      gdcm::StringFilter::FromString(gdcm::Tag const&, char const*,
unsigned long) in libitkgdcmMSFF-4.5.a(gdcmStringFilter.cxx.o)
      gdcm::DataSetHelper::ComputeVR(gdcm::File const&, gdcm::DataSet
const&, gdcm::Tag const&) in libitkgdcmMSFF-4.5.a(gdcmDataSetHelper.cxx.o)
      gdcm::FileExplicitFilter::ProcessDataSet(gdcm::DataSet&, gdcm::Dicts
const&) in libitkgdcmMSFF-4.5.a(gdcmFileExplicitFilter.cxx.o)
  "gdcm::DataSet::GetDEEnd() const", referenced from:
      gdcm::DataSet::GetDataElement(gdcm::Tag const&) const in
libitkgdcmMSFF-4.5.a(gdcmImageHelper.cxx.o)
      gdcm::DataSet::GetDataElement(gdcm::Tag const&) const in
libitkgdcmMSFF-4.5.a(gdcmImageReader.cxx.o)
      gdcm::DataSet::GetDataElement(gdcm::Tag const&) const in
libitkgdcmMSFF-4.5.a(gdcmImageWriter.cxx.o)
      gdcm::DataSet::GetDataElement(gdcm::Tag const&) const in
libitkgdcmMSFF-4.5.a(gdcmStringFilter.cxx.o)
      gdcm::DataSet::GetDataElement(gdcm::Tag const&) const in
libitkgdcmMSFF-4.5.a(gdcmDataSetHelper.cxx.o)
      gdcm::DataSet::FindNextDataElement(gdcm::Tag const&) const in
libitkgdcmMSFF-4.5.a(gdcmCurve.cxx.o)
      gdcm::DataSet::GetDataElement(gdcm::Tag const&) const in
libitkgdcmMSFF-4.5.a(gdcmCurve.cxx.o)
      ...
  "typeinfo for gdcm::Reader", referenced from:
      typeinfo for gdcm::PixmapReader in
libitkgdcmMSFF-4.5.a(gdcmPixmapReader.cxx.o)
  "typeinfo for gdcm::Writer", referenced from:
      typeinfo for gdcm::PixmapWriter in
libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)
  "vtable for gdcm::SequenceOfFragments", referenced from:
      gdcm::SequenceOfFragments::SequenceOfFragments() in
libitkgdcmMSFF-4.5.a(gdcmJPEG2000Codec.cxx.o)
      gdcm::SequenceOfFragments::SequenceOfFragments() in
libitkgdcmMSFF-4.5.a(gdcmRLECodec.cxx.o)
      gdcm::SequenceOfFragments::SequenceOfFragments() in
libitkgdcmMSFF-4.5.a(gdcmJPEGCodec.cxx.o)
  NOTE: a missing vtable usually means the first non-inline virtual member
function has no definition.
  "vtable for gdcm::Reader", referenced from:
      gdcm::Reader::Reader() in
libitkgdcmMSFF-4.5.a(gdcmPixmapReader.cxx.o)
  NOTE: a missing vtable usually means the first non-inline virtual member
function has no definition.
  "vtable for gdcm::Writer", referenced from:
      gdcm::Writer::Writer() in
libitkgdcmMSFF-4.5.a(gdcmPixmapWriter.cxx.o)
  NOTE: a missing vtable usually means the first non-inline virtual member
function has no definition.
  "_gdcmjpeg12_jpeg_CreateCompress", referenced from:
      gdcm::JPEG12Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
  "_gdcmjpeg12_jpeg_CreateDecompress", referenced from:
      gdcm::JPEG12Codec::GetHeaderInfo(std::istream&,
gdcm::TransferSyntax&) in libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
      gdcm::JPEG12Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
  "_gdcmjpeg12_jpeg_destroy_compress", referenced from:
      gdcm::JPEG12Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
  "_gdcmjpeg12_jpeg_destroy_decompress", referenced from:
      gdcm::JPEG12Codec::GetHeaderInfo(std::istream&,
gdcm::TransferSyntax&) in libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
      gdcm::JPEG12Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
  "_gdcmjpeg12_jpeg_finish_compress", referenced from:
      gdcm::JPEG12Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
  "_gdcmjpeg12_jpeg_finish_decompress", referenced from:
      gdcm::JPEG12Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
  "_gdcmjpeg12_jpeg_read_header", referenced from:
      gdcm::JPEG12Codec::GetHeaderInfo(std::istream&,
gdcm::TransferSyntax&) in libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
      gdcm::JPEG12Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
  "_gdcmjpeg12_jpeg_read_scanlines", referenced from:
      gdcm::JPEG12Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
  "_gdcmjpeg12_jpeg_resync_to_restart", referenced from:
      gdcm::gdcmjpeg12_jpeg_stdio_src(jpeg_decompress_struct*,
std::istream&, bool) in libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
  "_gdcmjpeg12_jpeg_set_defaults", referenced from:
      gdcm::JPEG12Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
  "_gdcmjpeg12_jpeg_set_quality", referenced from:
      gdcm::JPEG12Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
  "_gdcmjpeg12_jpeg_simple_lossless", referenced from:
      gdcm::JPEG12Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
  "_gdcmjpeg12_jpeg_start_compress", referenced from:
      gdcm::JPEG12Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
  "_gdcmjpeg12_jpeg_start_decompress", referenced from:
      gdcm::JPEG12Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
  "_gdcmjpeg12_jpeg_std_error", referenced from:
      gdcm::JPEG12Codec::GetHeaderInfo(std::istream&,
gdcm::TransferSyntax&) in libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
      gdcm::JPEG12Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
      gdcm::JPEG12Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
  "_gdcmjpeg12_jpeg_write_scanlines", referenced from:
      gdcm::JPEG12Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG12Codec.cxx.o)
  "_gdcmjpeg16_jpeg_CreateCompress", referenced from:
      gdcm::JPEG16Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
  "_gdcmjpeg16_jpeg_CreateDecompress", referenced from:
      gdcm::JPEG16Codec::GetHeaderInfo(std::istream&,
gdcm::TransferSyntax&) in libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
      gdcm::JPEG16Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
  "_gdcmjpeg16_jpeg_destroy_compress", referenced from:
      gdcm::JPEG16Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
  "_gdcmjpeg16_jpeg_destroy_decompress", referenced from:
      gdcm::JPEG16Codec::GetHeaderInfo(std::istream&,
gdcm::TransferSyntax&) in libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
      gdcm::JPEG16Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
  "_gdcmjpeg16_jpeg_finish_compress", referenced from:
      gdcm::JPEG16Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
  "_gdcmjpeg16_jpeg_finish_decompress", referenced from:
      gdcm::JPEG16Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
  "_gdcmjpeg16_jpeg_read_header", referenced from:
      gdcm::JPEG16Codec::GetHeaderInfo(std::istream&,
gdcm::TransferSyntax&) in libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
      gdcm::JPEG16Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
  "_gdcmjpeg16_jpeg_read_scanlines", referenced from:
      gdcm::JPEG16Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
  "_gdcmjpeg16_jpeg_resync_to_restart", referenced from:
      gdcm::gdcmjpeg16_jpeg_stdio_src(jpeg_decompress_struct*,
std::istream&, bool) in libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
  "_gdcmjpeg16_jpeg_set_defaults", referenced from:
      gdcm::JPEG16Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
  "_gdcmjpeg16_jpeg_set_quality", referenced from:
      gdcm::JPEG16Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
  "_gdcmjpeg16_jpeg_simple_lossless", referenced from:
      gdcm::JPEG16Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
  "_gdcmjpeg16_jpeg_start_compress", referenced from:
      gdcm::JPEG16Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
  "_gdcmjpeg16_jpeg_start_decompress", referenced from:
      gdcm::JPEG16Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
  "_gdcmjpeg16_jpeg_std_error", referenced from:
      gdcm::JPEG16Codec::GetHeaderInfo(std::istream&,
gdcm::TransferSyntax&) in libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
      gdcm::JPEG16Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
      gdcm::JPEG16Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
  "_gdcmjpeg16_jpeg_write_scanlines", referenced from:
      gdcm::JPEG16Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG16Codec.cxx.o)
  "_gdcmjpeg8_jpeg_CreateCompress", referenced from:
      gdcm::JPEG8Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
  "_gdcmjpeg8_jpeg_CreateDecompress", referenced from:
      gdcm::JPEG8Codec::GetHeaderInfo(std::istream&,
gdcm::TransferSyntax&) in libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
      gdcm::JPEG8Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
  "_gdcmjpeg8_jpeg_destroy_compress", referenced from:
      gdcm::JPEG8Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
  "_gdcmjpeg8_jpeg_destroy_decompress", referenced from:
      gdcm::JPEG8Codec::GetHeaderInfo(std::istream&,
gdcm::TransferSyntax&) in libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
      gdcm::JPEG8Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
  "_gdcmjpeg8_jpeg_finish_compress", referenced from:
      gdcm::JPEG8Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
  "_gdcmjpeg8_jpeg_finish_decompress", referenced from:
      gdcm::JPEG8Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
  "_gdcmjpeg8_jpeg_read_header", referenced from:
      gdcm::JPEG8Codec::GetHeaderInfo(std::istream&,
gdcm::TransferSyntax&) in libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
      gdcm::JPEG8Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
  "_gdcmjpeg8_jpeg_read_scanlines", referenced from:
      gdcm::JPEG8Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
  "_gdcmjpeg8_jpeg_resync_to_restart", referenced from:
      gdcm::gdcmjpeg8_jpeg_stdio_src(jpeg_decompress_struct*,
std::istream&, bool) in libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
  "_gdcmjpeg8_jpeg_set_defaults", referenced from:
      gdcm::JPEG8Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
  "_gdcmjpeg8_jpeg_set_quality", referenced from:
      gdcm::JPEG8Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
  "_gdcmjpeg8_jpeg_simple_lossless", referenced from:
      gdcm::JPEG8Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
  "_gdcmjpeg8_jpeg_start_compress", referenced from:
      gdcm::JPEG8Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
  "_gdcmjpeg8_jpeg_start_decompress", referenced from:
      gdcm::JPEG8Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
  "_gdcmjpeg8_jpeg_std_error", referenced from:
      gdcm::JPEG8Codec::GetHeaderInfo(std::istream&,
gdcm::TransferSyntax&) in libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
      gdcm::JPEG8Codec::DecodeByStreams(std::istream&, std::ostream&) in
libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
      gdcm::JPEG8Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
  "_gdcmjpeg8_jpeg_write_scanlines", referenced from:
      gdcm::JPEG8Codec::InternalCode(char const*, unsigned long,
std::ostream&) in libitkgdcmMSFF-4.5.a(gdcmJPEG8Codec.cxx.o)
  "_gdcmuuid_uuid_generate", referenced from:
      gdcm::UIDGenerator::Generate2() in
libitkgdcmMSFF-4.5.a(gdcmUIDGenerator.cxx.o)
      gdcm::UIDGenerator::GenerateUUID(unsigned char*) in
libitkgdcmMSFF-4.5.a(gdcmUIDGenerator.cxx.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)

    mex: link of ' "itkLoadWithMetadataStub.mexmaci64"' failed.

make[2]: *** [mexFiles/itkLoadWithMetadata.mexmaci64] Error 255
make[1]: *** [mexFiles/CMakeFiles/MEX_BLD.dir/all] Error 2
make: *** [all] Error 2

Compilation exited abnormally with code 2 at Wed Nov 20 09:01:17



--
Kent Williams norman-k-williams at uiowa.edu



________________________________
Notice: This UI Health Care e-mail (including attachments) is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and may be legally privileged.  If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited.  Please reply to the sender that you have received the message in error, then delete it.  Thank you.
________________________________


More information about the Insight-developers mailing list