From 1fe5d5db79245e0bdddaeb41499e804d0f914e4b Mon Sep 17 00:00:00 2001 From: Sean Cross Date: Mon, 30 Mar 2020 00:29:40 +0800 Subject: [PATCH] Fix mingw build (#2215) * v3Os: include instead of The windows.h header file should be included prior to any other headers, in order to ensure all definitions are available. By only including some headers, such as winnt.h, many "undefined symbol" messages are generated. Include "windows.h" to fix the build on msys2 under mingw64. Signed-off-by: Sean Cross * configure: check for bcrypt and psapi on windows These two libraries must be linked in order to have access to BCryptGenRandom and GetProcessMemoryInfo respectively. Signed-off-by: Sean Cross --- configure.ac | 5 +++++ src/V3Os.cpp | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index fc90f8179..83e026227 100644 --- a/configure.ac +++ b/configure.ac @@ -370,8 +370,13 @@ AC_SUBST(CFG_LDFLAGS_SRC) # The pthread library is required by tcmalloc, so add it if it exists. If it # does not, the tcmalloc check below will fail anyway, and linking against # pthreads is harmless otherwise. +CFG_LIBS="$LIBS $CFG_LIBS" _MY_LDLIBS_CHECK_OPT(CFG_LIBS, -lpthread) +# Check libraries for MingW +_MY_LDLIBS_CHECK_OPT(CFG_LIBS, -lbcrypt) +_MY_LDLIBS_CHECK_OPT(CFG_LIBS, -lpsapi) + # Check if tcmalloc is available based on --enable-tcmalloc _MY_LDLIBS_CHECK_IFELSE( $LTCMALLOC, diff --git a/src/V3Os.cpp b/src/V3Os.cpp index c5a3d664a..06b7ede3d 100644 --- a/src/V3Os.cpp +++ b/src/V3Os.cpp @@ -43,7 +43,7 @@ #include #if defined(_WIN32) || defined(__MINGW32__) -# include // LONG for bcrypt.h on MINGW +# include // LONG for bcrypt.h on MINGW # include // BCryptGenRandom # include # include // mkdir