
Hi,I have a program that works fine on Solaris and Linux and I want to port it to work to on Cygwin, but am having issues getting Boost.asio to compile.The problem is it wants me to set some defines which I believe makes it use the native Windows socket interface (winsock) where as I want it to use the Cygwin socket interface because the program uses other libraries that expect the Cygwin socket interface. I want to be able to compile a program like this: $ cat prog.cc #include <net-snmp/net-snmp-config.h>#include <net-snmp/net-snmp-includes.h>#include <net-snmp/agent/net-snmp-agent-includes.h>#include <boost/asio.hpp> int main() {} $ To get the above code to compile when only including boost/asio.hpp I have to use the following: g++ -D_WIN32_WINNT=0x0501 -D__USE_W32_SOCKETS \ -I$BOOST_ROOT/include -I$NETSNMP_HOME/include \ prog.cc \ -L$BOOST_ROOT/lib -lboost_system -lws2_32 But the net-snmp headers fail when added, where as when I remove the include for the asio header file and remove -D_WIN32_WINNT=0x0501, -D__USE_W32_SOCKETS and -lws2_32 from the compile line then the net-snmp headers compile fine - but the asio will fail.g++ -I$BOOST_ROOT/include -I$NETSNMP_HOME/include prog.cc -L$BOOST_ROOT/lib -lboost_system Is there a define I can set so that boost.asio uses the Cygwin sockets? I would have thought that this would be the expected behaviour when compiling on Cygwin. The version of Cygwin is:$ uname -aCYGWIN_NT-6.0 toshiba-PC 1.7.10(0.259/5/3) 2012-02-05 12:36 i686 Cygwin The version of boost is:boost_1_48_0 Thanks
participants (1)
-
Red Taza