On 5/28/20 7:14 AM, Miller Puckette via Pd-dev wrote:
> Compiling on Windows using mingw32 I get this:
> 
> x86_64-w64-mingw32-gcc -DPACKAGE_NAME=\"pd\" -DPACKAGE_TARNAME=\"pd\" 
> -DPACKAGE_VERSION=\"0.51.0\" -DPACKAGE_STRING=\"pd\ 0.51.0\" 
> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"pd\" 
> -DVERSION=\"0.51.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 
> -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 
> -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 
> -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 
> -DHAVE_MALLOC_H=1 -DHAVE_STDDEF_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 
> -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TIMEB_H=1 
> -DHAVE_UNISTD_H=1 -DHAVE_ALLOCA=1 -Dvfork=fork -DHAVE_STDLIB_H=1 
> -DHAVE_MALLOC=1 -DHAVE_STDLIB_H=1 -DHAVE_REALLOC=1 -DRETSIGTYPE=void 
> -DHAVE_DUP2=1 -DHAVE_FLOOR=1 -DHAVE_GETCWD=1 -DHAVE_GETTIMEOFDAY=1 
> -DHAVE_MEMMOVE=1 -DHAVE_MEMSET=1 -DHAVE_POW=1 -DHAVE_SQRT=1 -DHAVE_STRCHR=1 
> -DHAVE_STRERROR=1 -DHAVE_STRRCHR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -I.  
> -I../portaudio/portaudio/include -I../portmidi/portmidi/pm_common 
> -I../portmidi/portmidi/porttime -DWISH=\"wish86.exe\"  -g -O2 -ffast-math 
> -funroll-loops -fomit-frame-pointer -O3 -MT pdsend-s_net.o -MD -MP -MF 
> .deps/pdsend-s_net.Tpo -c -o pdsend-s_net.o `test -f 's_net.c' || echo 
> './'`s_net.c
> s_net.c: In function 'addrinfo_get_list':
> s_net.c:55:22: error: 'AI_ALL' undeclared (first use in this function); did 
> you mean 'SIF_ALL'?
>      hints.ai_flags = AI_ALL |       /* both IPv4 and IPv6 addrs */
>                       ^~~~~~
>                       SIF_ALL
> s_net.c:55:22: note: each undeclared identifier is reported only once for 
> each function it appears in
> s_net.c:56:22: error: 'AI_V4MAPPED' undeclared (first use in this function); 
> did you mean 'MIDI_MAPPER'?
>                       AI_V4MAPPED |  /* fallback to IPv4-mapped IPv6 addrs */
>                       ^~~~~~~~~~~
>                       MIDI_MAPPER
> make[2]: *** [Makefile:2318: pdsend-s_net.o] Error 1
> 
> 
> I'l try to fix this Thursday but if anyone who understands the new networking
> code gets there before I do you might do a better job than I can...


it's easy: AI_ALL and AI_V4MAPPED are only available since Windows Vista.

the default settings compile for Windows2000 (or so).

to compile for windows vista (and aboce), use the following macros
(preferably in the Makefile):
> -DWINVER=0x0600 -D_WIN32_WINNT=0x0600

(this is already done in the autotools-Makefile; but afaik not in the
src/makefile.mingw)

alternatively (and probably additionally), the use of these macros
should probably be protected by ifdef clauses.

in iemnet (which has backported some of the new code from s_net.c) i use:

~~~
  hints.ai_flags |= AI_PASSIVE
#ifdef AI_ALL
    | AI_ALL     /* both IPv4 and IPv6 addrs */
#endif
#ifdef AI_V4MAPPED
    | AI_V4MAPPED /* fallback to IPv4-mapped IPv6 addrs */
#endif
    | 0;
~~~

mgfrdsa
IOhanne

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Pd-dev mailing list
[email protected]
https://lists.puredata.info/listinfo/pd-dev

Reply via email to