r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype,
port, port, lanaddr, strDesc.c_str(), "TCP", 0);
#else
r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype,
port, port, lanaddr, strDesc.c_str(), "TCP", 0, "0");
#endif
The code that compiles when __WXMSW__ is defined is the correct code for my system. However,
adding -D__WXMSW__ to the GCC command line results in Windows-specific code being activated
throughout the program, which leads to other build errors.
How many arguments to pass to UPNP_AddPortMapping and other functions from that library cannot be tied to whether __WXMSW__ is defined. To get this to compile, I had to find all the improperly-called miniupnpc functions and remove the
bad version.