primesieve
primesieve copied to clipboard
Troubles building on MinGW64 system
trafficstars
Just ran this
cmake -G "Unix Makefiles" .
make -j
Error:
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/libprimesieve.dir/src/api-c.cpp.obj:api-c.cpp:(.text+0x279): undefined reference to `__cxa_free_exception'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/libprimesieve.dir/src/api-c.cpp.obj:api-c.cpp:(.text+0x293): undefined reference to `__cxa_begin_catch'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/libprimesieve.dir/src/api-c.cpp.obj:api-c.cpp:(.text+0x2b2): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long long)'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/libprimesieve.dir/src/api-c.cpp.obj:api-c.cpp:(.text+0x2c6): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
.....
.....
.....
Note I am on MinGW x64 not MinGW-w64. I dont understand why it's looking for x86_64-w64-mingw32
not sure how it was resolved , @kimwalisch it would be great if you could link resolution steps
Sorry for not answering earlier.
Based on my experience I think your MINGW installation is corrupted, in primesieve's CI MinGW64 is tested and works flawlessly. Also have a look at this issue where another user had similar issues with MinGW64 and reinstalling MinGW64 solved the issue: https://github.com/kimwalisch/primesieve/issues/51#issuecomment-375955066