cmcguinness / focusstack

Simple Focus Stacking in Python: Merge a collection of photos taken at different focus depths into one image with sharp focus
Apache License 2.0
153 stars 47 forks source link

Compilation error for Mac OS X #3

Open naglemi opened 5 years ago

naglemi commented 5 years ago

Thanks for making this tool available. I'm having trouble with compilation. This is on Mac OS X and I have not tried on another computer. Can you see the cause of this issue?

Thanks again

(opencv-env) 10-248-143-48:build HDboot$ make
Scanning dependencies of target gtest
[  3%] Building CXX object googletest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
[  6%] Linking CXX static library libgtest.a
[  6%] Built target gtest
Scanning dependencies of target gmock
[ 10%] Building CXX object googletest/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o
[ 13%] Linking CXX static library libgmock.a
[ 13%] Built target gmock
Scanning dependencies of target gmock_main
[ 16%] Building CXX object googletest/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o
[ 20%] Linking CXX static library libgmock_main.a
[ 20%] Built target gmock_main
Scanning dependencies of target gtest_main
[ 23%] Building CXX object googletest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o
[ 26%] Linking CXX static library libgtest_main.a
[ 26%] Built target gtest_main
Scanning dependencies of target runAllTests
[ 30%] Building CXX object CMakeFiles/runAllTests.dir/tests.cpp.o
[ 33%] Building CXX object CMakeFiles/runAllTests.dir/test/grayscale_converter_test.cpp.o
[ 36%] Building CXX object CMakeFiles/runAllTests.dir/test/image_filter_test.cpp.o
In file included from /Users/HDboot/Documents/GitHub/focus-stacking/test/image_filter_test.cpp:4:
/Users/HDboot/Documents/GitHub/focus-stacking/test/../src/image_filter.h:34:5: warning: delete called on 'ConvolutionStrategy<unsigned char, unsigned char>'
      that is abstract but has non-virtual destructor [-Wdelete-non-virtual-dtor]
    delete convolution_strategy;
    ^
/Users/HDboot/Documents/GitHub/focus-stacking/test/image_filter_test.cpp:38:35: note: in instantiation of member function 'ImageFilter<unsigned char, unsigned
      char>::~ImageFilter' requested here
    ImageFilter<uint8_t, uint8_t> image_filter(mock_kernel);
                                  ^
1 warning generated.
[ 40%] Building CXX object CMakeFiles/runAllTests.dir/test/matrix_test.cpp.o
[ 43%] Building CXX object CMakeFiles/runAllTests.dir/test/test_utils.cpp.o
[ 46%] Building CXX object CMakeFiles/runAllTests.dir/src/filter_kernel.cpp.o
[ 50%] Building CXX object CMakeFiles/runAllTests.dir/src/focus_stack.cpp.o
/Users/HDboot/Documents/GitHub/focus-stacking/src/focus_stack.cpp:66:13: error: call to 'abs' is ambiguous
        if (std::abs(log_stack.at(stack_idx).at(col, row, 0)) > max_laplacian_value &&
            ^~~~~~~~
/usr/include/stdlib.h:129:6: note: candidate function
int      abs(int) __pure2;
         ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstdlib:159:44: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY long      abs(     long __x) _NOEXCEPT {return  labs(__x);}
                                           ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstdlib:161:44: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {return llabs(__x);}
                                           ^
/Users/HDboot/Documents/GitHub/focus-stacking/src/focus_stack.cpp:67:13: error: call to 'abs' is ambiguous
            std::abs(log_stack.at(stack_idx).at(col, row, 0)) > bg_threshold)
            ^~~~~~~~
/usr/include/stdlib.h:129:6: note: candidate function
int      abs(int) __pure2;
         ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstdlib:159:44: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY long      abs(     long __x) _NOEXCEPT {return  labs(__x);}
                                           ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstdlib:161:44: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {return llabs(__x);}
                                           ^
/Users/HDboot/Documents/GitHub/focus-stacking/src/focus_stack.cpp:70:35: error: call to 'abs' is ambiguous
            max_laplacian_value = std::abs(log_stack.at(stack_idx).at(col, row, 0));
                                  ^~~~~~~~
/usr/include/stdlib.h:129:6: note: candidate function
int      abs(int) __pure2;
         ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstdlib:159:44: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY long      abs(     long __x) _NOEXCEPT {return  labs(__x);}
                                           ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstdlib:161:44: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {return llabs(__x);}
                                           ^
In file included from /Users/HDboot/Documents/GitHub/focus-stacking/src/focus_stack.cpp:3:
In file included from /Users/HDboot/Documents/GitHub/focus-stacking/src/laplacian_kernel.h:3:
/Users/HDboot/Documents/GitHub/focus-stacking/src/image_filter.h:34:5: warning: delete called on 'ConvolutionStrategy<unsigned char, unsigned char>' that is
      abstract but has non-virtual destructor [-Wdelete-non-virtual-dtor]
    delete convolution_strategy;
    ^
/Users/HDboot/Documents/GitHub/focus-stacking/src/focus_stack.cpp:29:35: note: in instantiation of member function 'ImageFilter<unsigned char, unsigned
      char>::~ImageFilter' requested here
    ImageFilter<uint8_t, uint8_t> gaussian_filter(gaussian_kernel);
                                  ^
In file included from /Users/HDboot/Documents/GitHub/focus-stacking/src/focus_stack.cpp:3:
In file included from /Users/HDboot/Documents/GitHub/focus-stacking/src/laplacian_kernel.h:3:
/Users/HDboot/Documents/GitHub/focus-stacking/src/image_filter.h:34:5: warning: delete called on 'ConvolutionStrategy<unsigned char, float>' that is abstract
      but has non-virtual destructor [-Wdelete-non-virtual-dtor]
    delete convolution_strategy;
    ^
/Users/HDboot/Documents/GitHub/focus-stacking/src/focus_stack.cpp:30:33: note: in instantiation of member function
      'ImageFilter<unsigned char, float>::~ImageFilter' requested here
    ImageFilter<uint8_t, float> laplacian_filter(laplacian_kernel);
                                ^
2 warnings and 3 errors generated.
make[2]: *** [CMakeFiles/runAllTests.dir/src/focus_stack.cpp.o] Error 1
make[1]: *** [CMakeFiles/runAllTests.dir/all] Error 2
make: *** [all] Error 2