Here are three more experiments building three different CryptoPP versions with the latest 64-bit/64-bit MingW compiler.
Since I already have a solution, this should have no sense of urgency. Let me know if there is something specific I can do to help. *I fixed my compiler version. Now it is a 64-bit application and targeting 64-bit:* C:\data\code\experimental\cryptopp562>g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/7.2.0/lto-wrapper.exe Target: x86_64-w64-mingw32 Configured with: ../../../src/gcc-7.2.0/configure --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --prefix=/mingw64 - -with-sysroot=/c/mingw720/x86_64-720-posix-seh-rt_v5-rev0/mingw64 --enable-shared --enable-static --disable-multilib --enable-languages=c,c++,fortran, lto --enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp --enable-libatomic --enable-lto --enable-graphite --enable-checking=release -- enable-fully-dynamic-string --enable-version-specific-runtime-libs --enable-libstdcxx-filesystem-ts=yes --disable-libstdcxx-pch --disable-libstdcxx-de bug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as --with-gnu-ld --with-ar ch=nocona --with-tune=core2 --with-libiconv --with-system-zlib --with-gmp=/c/mingw720/prerequisites/x86_64-w64-mingw32-static --with-mpfr=/c/mingw720/ prerequisites/x86_64-w64-mingw32-static --with-mpc=/c/mingw720/prerequisites/x86_64-w64-mingw32-static --with-isl=/c/mingw720/prerequisites/x86_64-w64 -mingw32-static --with-pkgversion='x86_64-posix-seh-rev0, Built by MinGW-W64 project' --with-bugurl=https://sourceforge.net/projects/mingw-w64 CFLAGS= '-O2 -pipe -fno-ident -I/c/mingw720/x86_64-720-posix-seh-rt_v5-rev0/mingw64/opt/include -I/c/mingw720/prerequisites/x86_64-zlib-static/include -I/c/mi ngw720/prerequisites/x86_64-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe -fno-ident -I/c/mingw720/x86_64-720-posix-seh-rt_v5-rev0/mingw64/opt/inclu de -I/c/mingw720/prerequisites/x86_64-zlib-static/include -I/c/mingw720/prerequisites/x86_64-w64-mingw32-static/include' CPPFLAGS=' -I/c/mingw720/x86_ 64-720-posix-seh-rt_v5-rev0/mingw64/opt/include -I/c/mingw720/prerequisites/x86_64-zlib-static/include -I/c/mingw720/prerequisites/x86_64-w64-mingw32- static/include' LDFLAGS='-pipe -fno-ident -L/c/mingw720/x86_64-720-posix-seh-rt_v5-rev0/mingw64/opt/lib -L/c/mingw720/prerequisites/x86_64-zlib-static /lib -L/c/mingw720/prerequisites/x86_64-w64-mingw32-static/lib ' Thread model: posix gcc version 7.2.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project) *COMPILING CRYPTOPP562 has this error:* g++ -DNDEBUG -g -O2 -march=native -DCRYPTOPP_DISABLE_ASM -pipe -c wake.cpp wake.cpp: In member function 'void CryptoPP::WAKE_Base::GenKey(CryptoPP::word32, CryptoPP::word32, CryptoPP::word32, CryptoPP::word32)': wake.cpp:34:15: error: narrowing conversion of '3868867420' from 'unsigned int' to 'int' inside { } [-Wnarrowing] 0x9ee27cf3, } ; ^ wake.cpp:34:15: error: narrowing conversion of '3553042405' from 'unsigned int' to 'int' inside { } [-Wnarrowing] wake.cpp:34:15: error: narrowing conversion of '2872865746' from 'unsigned int' to 'int' inside { } [-Wnarrowing] wake.cpp:34:15: error: narrowing conversion of '2665643251' from 'unsigned int' to 'int' inside { } [-Wnarrowing] make: *** [wake.o] Error 1 *COMPILING CRYPTOPP565 gives a weird error and pops up a crash dialog:* g++ -o cryptest.exe -DNDEBUG -g2 -O2 --std=c++11 -march=native -pipe test.o bench1.o bench2.o validat1.o validat2.o validat3.o adhoc.o datatest.o regt est.o fipsalgt.o dlltest.o ./libcryptopp.a -lws2_32 CreateProcess(c:\mingw\bin\g++.exe,g++ -o cryptest.exe -DNDEBUG -g2 -O2 --std=c++11 -march=native -pipe test.o bench1.o bench2.o validat1.o validat2.o validat3.o adhoc.o datatest.o regtest.o fipsalgt.o dlltest.o ./libcryptopp.a -lws2_32,...) Putting child 0x005ba968 (cryptest.exe) PID 6254928 on the chain. Live child 0x005ba968 (cryptesCannot create temporary file in C:\data\code\experimental\cryptopp565\c;\tmnp\: No such file or directory t This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. .exe) PID 6254928 Reaping losing child 0x005ba968 PID 6254928 make: *** [cryptest.exe] Error 3 Removing child 0x005ba968 PID 6254928 from chain. *I did a git clone yesterday, and the 64-bit/64-bit compiler gives this error:* Must remake target `cryptlib.o'. g++ -DNDEBUG -g2 -O3 -wd68 -wd186 -wd279 -wd327 -wd161 -wd3180 -DCRYPTOPP_DISABLE_ASM -pthread -KPIC -template=no%extdef -c cryptlib.cpp CreateProcess(c:\mingw\bin\g++.exe,g++ -DNDEBUG -g2 -O3 -wd68 -wd186 -wd279 -wd327 -wd161 -wd3180 -DCRYPTOPP_DISABLE_ASM -pthread -KPIC -template=no%e xtdef -c cryptlib.cpp,...) Putting child 0x0219fa00 (cryptlib.o) PID 35177856 on the chain. Live child 0x0219fa00 (crg++: error: unrecognized command line option '-wd68' ypg++: error: unrecognized command line option '-wd186' tlg++: error: unrecognized command line option '-wd279' ibg++: error: unrecognized command line option '-wd327' .og++: error: unrecognized command line option '-wd161' ) PIg++: error: unrecognized command line option '-wd3180' D 3g++: error: unrecognized command line option '-KPIC'; did you mean '-fPIC'? 5177856 g++: error: unrecognized command line option '-template=no%extdef'; did you mean '-ftemplate-depth-'? Reaping losing child 0x0219fa00 PID 35177856 make: *** [cryptlib.o] Error 1 Removing child 0x0219fa00 PID 35177856 from chain. On Monday, November 6, 2017 at 2:02:34 PM UTC-8, Marcel Raad wrote: > > Hi Jeff, > > Am 06.11.2017 20:20 schrieb "Jeffrey Walton" <[email protected] > <javascript:>>: > > How does this fancy you: > > $ git diff > diff --git a/socketft.cpp b/socketft.cpp > index 454eaa5..20cda22 100644 > --- a/socketft.cpp > +++ b/socketft.cpp > @@ -30,6 +30,14 @@ > # include <sanitizer/msan_interface.h> > #endif > > +// From > http://groups.google.com/d/msg/cryptopp-users/MzvocLrbIpE/TMCa6LFhCgAJ, > +// <wspiapi.h> is a compatibility header and it needs _WIN32_WINNT >= > 0x501. > +// The work-around should be OK since it won't cross-pollinate into > header files. > +#if defined(__MINGW32__) && (_WIN32_WINNT < 0x501) > +# undef _WIN32_WINNT > +# define _WIN32_WINNT 0x501 > +#endif > > > sorry, I hadn't seen your e-mail until now and have created a pull request > with another option, defining it in the makefile if the user didn't > explicitly specify the target Windows version. Defining it only in > socketft.cpp would be good too, of course. > > Note that MinGW-w64 also defines __MINGW32__ and doesn't target Windows > 2000 by default. But I think it targets Windows XP anyway by default, so it > would make no difference. > > Marcel > -- -- You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to [email protected]. More information about Crypto++ and this group is available at http://www.cryptopp.com. --- You received this message because you are subscribed to the Google Groups "Crypto++ Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
