[vos-d] Cannot build vos-0.23.0 in mingw environment on windows2000
Ken Taylor
taylork at alum.mit.edu
Sun Nov 26 18:49:13 EST 2006
I've found a workaround for my problem that seems to work... It requires
that you install the microsoft platform SDK; then, in MinGW's ws2tcpip.h,
down below where it defines freeaddrinfo, getaddrinfo and getnameinfo, in
the #else part of the _WIN32_WINNT define where it says /* FIXME: Need WS
protocol-independent API helpers. */, place the following lines:
#define _inline __inline
#include "\Program Files\Microsoft SDK\Include\wspiapi.h"
#undef _inline
... and poof, it compiles! (The _inline define is to fix what seems to be a
typo in the version of wspiapi.h that I have installed... it's from a bit of
an older version of the microsoft SDK).
It also seems to run properly, as well, but I haven't tested it thoroughly
yet.
-Ken
----- Original Message -----
From: "Ken Taylor" <taylork at alum.mit.edu>
To: "VOS Discussion" <vos-d at interreality.org>
Sent: Sunday, November 26, 2006 1:40 AM
Subject: [vos-d] Cannot build vos-0.23.0 in mingw environment on windows2000
> Hi All,
>
> Just wanted to let you know of a problem I ran into trying to build vos
0.23
> within mingw on windows 2000: The build chokes on
> libs\vos\vutil\getaddrinfowrapper.cc because of missing "getaddrinfo"
> "freeaddrinfo" and "getnameinfo" functions. The problem in a nutshell is
> that these functions don't actually exist in windows 2000's api (they
first
> turn up in windows XP), but are supported through some sort of wrapper
hack
> in Microsoft's official SDK, which calls the windows2000 equivalent
> functions when needed. However, mingw's w32api doesn't implement this
> wrapper function in ws2tcpip.h (there's a nice /* FIXME */ comment where
it
> should be, though!). Here's a discussion of the problem:
> http://sourceforge.net/mailarchive/message.php?msg_id=14887873
>
> This problem still exists in mingw's w32api-3.6 which appears to be the
> latest.
>
> Building using the visual studio project should work, as it uses
Microsoft's
> APIs, but unfortunately I can't seem to download visual C++ express from
> Microsoft's server at the moment. Also, vos-win32-msvc-libs-0.23.0.zip
> appears to be missing from the how-to-compile-on-windows page
> (http://www.interreality.org/static/docs/manual-html/windows.html)
>
> I haven't ventured into the development trees yet, so as far as I know
this
> problem may have been fixed already. But if not, I would suggest doing
some
> autoconf magic to detect the existence of these functions, and calling the
> older pre-winXP versions of the functions if they don't exist.
>
> -Ken
>
>
More information about the vos-d
mailing list