cmake-basis / BASIS

CMake BASIS makes it easy to create sharable software and libraries that work together. This is accomplished by combining and documenting some of the best practices and utilities available. This project supplies a fully integrated suite of functionality to make the whole process seamless!
https://cmake-basis.github.io
Other
48 stars 10 forks source link

Compilation error when compiling with ITK enabled in testdriver-itk.hxx #623

Open seonjoo opened 7 years ago

seonjoo commented 7 years ago

I received the following error message when I install basis. Do you have any suggetion? My os is Centos7.

In file included from /home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver.hxx:29:0, from /home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver.h:407, from /home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/src/tools/testdriver.cxx:13: /home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx: In function ‘int RegressionTestImage(const char, const char, int, double, unsigned int, unsigned int, bool)’: /home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx:325:9: error: ‘itksys_ios’ has not been declared itksys_ios::ostringstream diffName; ^ /home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx:325:35: error: expected ‘;’ before ‘diffName’ itksys_ios::ostringstream diffName; ^ /home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx:326:9: error: ‘diffName’ was not declared in this scope diffName << testImageFilename << ".diff.png"; ^ /home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx:357:5: error: ‘itksys_ios’ has not been declared itksys_ios::ostringstream baseName; ^ /home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx:357:31: error: expected ‘;’ before ‘baseName’ itksys_ios::ostringstream baseName; ^ /home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx:358:5: error: ‘baseName’ was not declared in this scope baseName << testImageFilename << ".base.png"; ^ /home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx:392:5: error: ‘itksys_ios’ has not been declared itksys_ios::ostringstream testName; ^ /home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx:392:31: error: expected ‘;’ before ‘testName’ itksys_ios::ostringstream testName; ^ /home/cityaholic/sjhdd/Dropbox/software/basis-2.1.4-source/include/basis/testdriver-itk.hxx:393:5: error: ‘testName’ was not declared in this scope testName << testImageFilename << ".test.png"; ^ make[2]: [src/tools/CMakeFiles/testdriver.dir/testdriver.cxx.o] Error 1 make[1]: [src/tools/CMakeFiles/testdriver.dir/all] Error 2 make: *** [all] Error 2

ahundt commented 7 years ago

You can probably disable the itk bit, it is noncritical (unless you need itk).

schuhschuh commented 7 years ago

Yep, as @ahundt said. The ITK code is likely a bit outdated and is required by a single binary intended for comparing two images in a regression test.