nokiatech / heif

High Efficiency Image File Format
Other
1.74k stars 247 forks source link

Compile Error: Cygwin Unix Makefile GNU 10.3.0 #100

Open urbans0ft opened 3 years ago

urbans0ft commented 3 years ago

Compilation fails under Cygwin:

$ gcc --version
gcc (GCC) 10.2.0

$ uname -a
CYGWIN_NT-10.0 DESKTOP-MGTJF1P 3.2.0(0.340/5/3) 2021-03-29 08:42 x86_64 Cygwin

Creating Unix Makefiles

$ cmake ../srcs -G"Unix Makefiles" 
-- The CXX compiler identification is GNU 10.2.0
-- The C compiler identification is GNU 10.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Could NOT find JNI (missing: JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH) 
-- System name       : CYGWIN
-- Project Name      : heif
-- Project directory : ~/heif/srcs
-- Build called from : ~/heif/build
-- Executables in    : ~/heif/build/bin
-- Libraries in      : 
-- Configuring done
-- Generating done
-- Build files have been written to: ~/heif/build

Compiling Error

$ cmake --build .
/usr/bin/cmake.exe -S~/heif/srcs -B~/heif/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake.exe -E cmake_progress_start ~/heif/build/CMakeFiles ~/heif/build//CMakeFiles/progress.marks
/usr/bin/make  -f CMakeFiles/Makefile2 all
make[1]: Entering directory '~/heif/build'
/usr/bin/make  -f common/CMakeFiles/common.dir/build.make common/CMakeFiles/common.dir/depend
make[2]: Entering directory '~/heif/build'
cd ~/heif/build && /usr/bin/cmake.exe -E cmake_depends "Unix Makefiles" ~/heif/srcs ~/heif/srcs/common ~/heif/build ~/heif/build/common ~/heif/build/common/CMakeFiles/common.dir/DependInfo.cmake --color=
make[2]: Leaving directory '~/heif/build'
/usr/bin/make  -f common/CMakeFiles/common.dir/build.make common/CMakeFiles/common.dir/build
make[2]: Entering directory '~/heif/build'
[  0%] Building CXX object common/CMakeFiles/common.dir/accessibilitytext.cpp.o
cd ~/heif/build/common && /usr/bin/c++.exe  -I~/heif/build -g -W -Wall -Wextra -Wcast-align -Wcast-qual -Wdisabled-optimization -Winit-self -Wmissing-declarations -Wmissing-include-dirs -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-conversion -Wsign-promo -Wlogical-op -Wnoexcept -Wstrict-null-sentinel -fvisibility=hidden -std=c++11 -MD -MT common/CMakeFiles/common.dir/accessibilitytext.cpp.o -MF CMakeFiles/common.dir/accessibilitytext.cpp.o.d -o CMakeFiles/common.dir/accessibilitytext.cpp.o -c ~/heif/srcs/common/accessibilitytext.cpp
In file included from /usr/lib/gcc/x86_64-pc-cygwin/10/include/c++/string:55,
                 from ~/heif/srcs/common/customallocator.hpp:21,
                 from ~/heif/srcs/common/accessibilitytext.hpp:19,
                 from ~/heif/srcs/common/accessibilitytext.cpp:14:
/usr/lib/gcc/x86_64-pc-cygwin/10/include/c++/bits/basic_string.h: In instantiation of ‘class std::basic_string<char, std::char_traits<char>, Allocator<char> >’:
~/heif/srcs/common/customallocator.hpp:233:24:   required from here
/usr/lib/gcc/x86_64-pc-cygwin/10/include/c++/bits/basic_string.h:3150:57: error: no type named ‘size_type’ in ‘std::basic_string<char, std::char_traits<char>, Allocator<char> >::_CharT_alloc_type’ {aka ‘std::allocator_traits<Allocator<char> >::rebind_alloc<char>’}
 3150 |       typedef typename _CharT_alloc_type::size_type     size_type;
      |                                                         ^~~~~~~~~
/usr/lib/gcc/x86_64-pc-cygwin/10/include/c++/bits/basic_string.h:3151:61: error: no type named ‘difference_type’ in ‘std::basic_string<char, std::char_traits<char>, Allocator<char> >::_CharT_alloc_type’ {aka ‘std::allocator_traits<Allocator<char> >::rebind_alloc<char>’}
 3151 |       typedef typename _CharT_alloc_type::difference_type   difference_type;
      |                                                             ^~~~~~~~~~~~~~~
make[2]: *** [common/CMakeFiles/common.dir/build.make:79: common/CMakeFiles/common.dir/accessibilitytext.cpp.o] Error 1
make[2]: Leaving directory '~/heif/build'
make[1]: *** [CMakeFiles/Makefile2:179: common/CMakeFiles/common.dir/all] Error 2
make[1]: Leaving directory '~/heif/build'
make: *** [Makefile:94: all] Error 2