1
0
Fork 0

Fix building on MinGW

This commit is contained in:
darkf 2015-01-08 20:20:51 -08:00
parent eacc2a501b
commit 67c644e317
3 changed files with 19 additions and 0 deletions

View File

@ -117,6 +117,12 @@ IF (APPLE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++")
ELSEIF(MINGW)
# GCC does not support codecvt, so use iconv instead
set(PLATFORM_LIBRARIES winmm ws2_32 iconv)
# WSAPoll functionality doesn't exist before WinNT 6.x (Vista and up)
add_definitions(-D_WIN32_WINNT=0x0600)
ELSEIF(WIN32) ELSEIF(WIN32)
set(PLATFORM_LIBRARIES winmm ws2_32) set(PLATFORM_LIBRARIES winmm ws2_32)
ELSE() ELSE()

Binary file not shown.

View File

@ -7,6 +7,19 @@
#if EMU_PLATFORM == PLATFORM_WINDOWS #if EMU_PLATFORM == PLATFORM_WINDOWS
#include <winsock2.h> #include <winsock2.h>
#include <ws2tcpip.h> #include <ws2tcpip.h>
// MinGW does not define several errno constants
#ifndef _MSC_VER
#define EBADMSG 104
#define ENODATA 120
#define ENOMSG 122
#define ENOSR 124
#define ENOSTR 125
#define ETIME 137
#define EIDRM 2001
#define ENOLINK 2002
#endif // _MSC_VER
#else #else
#include <sys/socket.h> #include <sys/socket.h>
#include <netinet/in.h> #include <netinet/in.h>