QIICR / dcmqi

dcmqi (DICOM for Quantitative Imaging) is a free, open source C++ library for conversion between imaging research formats and the standard DICOM representation for image analysis results
https://qiicr.gitbook.io/dcmqi-guide/
BSD 3-Clause "New" or "Revised" License
241 stars 61 forks source link

build fails on debian with clang #396

Open pieper opened 4 years ago

pieper commented 4 years ago

Related to #394 and #395, I tried building with clang but got yet a third kind of build error.

Command:

cmake -DCMAKE_CXX_COMPILER=clang ../dcmqi

Error

[ 78%] Building CXX object Modules/ThirdParty/DICOMParser/src/DICOMParser/CMakeFiles/ITKDICOMParser.dir/DICOMFile.cxx.o
In file included from /home/pieper/dcmqi-superbuild/ITK/Modules/ThirdParty/DICOMParser/src/DICOMParser/DICOMFile.cxx:29:
/home/pieper/dcmqi-superbuild/ITK/Modules/ThirdParty/DICOMParser/src/DICOMParser/DICOMFile.h:51:28: error: no type named 'string' in the global namespace; did you mean 'std::string'?
  bool Open(const dicom_stl::string& filename);
                           ^~~~~~~~
                           std::string
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stringfwd.h:74:33: note: 'std::string' declared here
  typedef basic_string<char>    string;   
                                ^
/home/pieper/dcmqi-superbuild/ITK/Modules/ThirdParty/DICOMParser/src/DICOMParser/DICOMFile.cxx:61:37: error: no type named 'string' in the global namespace; did you mean 'std::string'?
bool DICOMFile::Open(const dicom_stl::string& filename)
                                    ^~~~~~~~
                                    std::string
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stringfwd.h:74:33: note: 'std::string' declared here
  typedef basic_string<char>    string;   
                                ^
2 errors generated.
Modules/ThirdParty/DICOMParser/src/DICOMParser/CMakeFiles/ITKDICOMParser.dir/build.make:110: recipe for target 'Modules/ThirdParty/DICOMParser/src/DICOMParser/CMakeFiles/ITKDICOMParser.dir/DICOM
File.cxx.o' failed
make[5]: *** [Modules/ThirdParty/DICOMParser/src/DICOMParser/CMakeFiles/ITKDICOMParser.dir/DICOMFile.cxx.o] Error 1
CMakeFiles/Makefile2:4791: recipe for target 'Modules/ThirdParty/DICOMParser/src/DICOMParser/CMakeFiles/ITKDICOMParser.dir/all' failed
make[4]: *** [Modules/ThirdParty/DICOMParser/src/DICOMParser/CMakeFiles/ITKDICOMParser.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make[3]: *** [all] Error 2
CMakeFiles/ITK.dir/build.make:113: recipe for target 'ITK-prefix/src/ITK-stamp/ITK-build' failed
make[2]: *** [ITK-prefix/src/ITK-stamp/ITK-build] Error 2
CMakeFiles/Makefile2:146: recipe for target 'CMakeFiles/ITK.dir/all' failed
make[1]: *** [CMakeFiles/ITK.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make: *** [all] Error 2