Compile error when cross-compiling for Windows using MinGW-W64
- Dominant language
- C++
- Stars
- 1.9k
- Forks
- 280
- Avg merge
- 7m
- Merged PRs (30d)
- 4
Description
Hey, thanks for making this library! I thought I'd update it today, but I now have this compile error when compiling for Windows:
```
loguru.cpp:(.text+0x2e97): undefined reference to `__imp__dupenv_s'
```
I include loguru.hpp like this:
```c++
#define LOGURU_WITH_STREAMS 1
#define LOGURU_THREADNAME_WIDTH 6
#include
```
I've modified `loguru.cpp` to include the above file rather than loguru.hpp, in order to get the correct settings
The Windows build environment can be reproduced here: https://gitlab.com/rubenwardy/docker-sfml-rvwp/blob/master/install_mingw.sh
Toolchain:
```cmake
set(CMAKE_SYSTEM_NAME Windows)
set(TOOLCHAIN_PREFIX x86_64-w64-mingw32)
# cross compilers to use for C and C++
set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc)
set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++)
set(CMAKE_RC_COMPILER ${TOOLCHAIN_PREFIX}-windres)
SET( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++" )
# target environment on the build host system
# set 1st to dir with the cross compiler's C/C++ headers/libs
set(CMAKE_FIND_ROOT_PATH /usr/${TOOLCHAIN_PREFIX} /usr/local/mingw64 ./extlibs)
set(LUA_INCLUDE_DIR /usr/local/mingw64/include/lua5.1/)
set(LUA_LIBRARY /usr/local/mingw64/lib/liblua5.1.a)
set(OPENAL_LIBRARY /usr/local/mingw64/lib/libopenal32.a)
# modify default behavior of FIND_XXX() commands to
# search for headers/libs in the target environment and
# search for programs in the build host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.