Hi all, this patch addresses the issue that the MMDevice API specific parts cannot be cross-compiled (e.g. on Linux using MinGW). This part of the code gets activated when explicitly setting the Windows version to something new (Windows Vista or higher). The patch adds the necessary unicode conversion objects to aconfigure.ac (autoconf needs to be called to recreate aconfigure after applying the patch) and fixes the case of the relevant includes to be lower case (while this should still work on Windows it is necessary on Linux/MinGW since the mingw32-* packages distribute the relevant include files lower-case-only). Regards Tobias
--- aconfigure.ac 2016-11-25 13:39:46.201265673 +0100 +++ aconfigure.ac 2016-11-25 13:46:36.976417301 +0100 @@ -456,7 +456,7 @@ dnl # case $target in *mingw* | *cygw* | *win32* | *w32* ) - ac_os_objs="$ac_os_objs file_access_win32.o file_io_win32.o os_core_win32.o os_error_win32.o os_time_win32.o os_timestamp_win32.o guid_win32.o sock_qos_bsd.o" + ac_os_objs="$ac_os_objs file_access_win32.o file_io_win32.o os_core_win32.o os_error_win32.o os_time_win32.o os_timestamp_win32.o guid_win32.o sock_qos_bsd.o unicode_win32.o" ;; *) ac_os_objs="$ac_os_objs file_access_unistd.o file_io_ansi.o os_core_unix.o os_error_unix.o os_time_unix.o os_timestamp_posix.o" --- pjmedia/src/pjmedia-audiodev/wmme_dev.c 2016-11-25 13:39:34.426347340 +0100 +++ pjmedia/src/pjmedia-audiodev/wmme_dev.c 2016-10-21 16:46:19.406554413 +0200 @@ -216,8 +216,8 @@ #define COBJMACROS #include <mmdeviceapi.h> #define INITGUID -#include <Guiddef.h> -#include <FunctionDiscoveryKeys_devpkey.h> +#include <guiddef.h> +#include <functiondiscoverykeys_devpkey.h> DEFINE_GUID(CLSID_MMDeviceEnumerator, 0xBCDE0395, 0xE52F, 0x467C, 0x8E, 0x3D, 0xC4, 0x57, 0x92, 0x91, 0x69, 0x2E);
_______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@xxxxxxxxxxxxxxx http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org