Boost::asio mit GCC unter Windows?
-
Hey, laut http://www.boost.org/doc/libs/1_35_0/doc/html/boost_asio/using.html
kann man boost.asio mit g++ auf linux, solaris und macos nutzen, allerdins hab ich nichts über Gcc + Windows gesehn. Wenn ich nu unter Codeblocks mit GCC auf meinem WinXP nur die boost/asio.hpp einbinde, erhalte ich folgende Fehler udn warnungen:F:/C++/BOOST/boost_1_35_0/boost/asio/detail/socket_types.hpp:34:5: warning: #warning is a GCC extension F:/C++/BOOST/boost_1_35_0/boost/asio/detail/socket_types.hpp:34:5: warning: #warning Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately F:/C++/BOOST/boost_1_35_0/boost/asio/detail/socket_types.hpp:35:5: warning: #warning is a GCC extension F:/C++/BOOST/boost_1_35_0/boost/asio/detail/socket_types.hpp:35:5: warning: #warning Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target) F:/C++/BOOST/boost_1_35_0/boost/type_traits/make_unsigned.hpp:81: error: ISO C++ does not support `long long' F:/C++/BOOST/boost_1_35_0/boost/integer_traits.hpp:170:70: warning: use of C99 long long integer constant
usw.
hat jemand erfahrung damit und kann mir sagen was ich ändern msus damits klappt?
-
Also ich kann asio ganz problemlos unter MinGW nutzen.
(Allerdings mit g++ ;))
Du musst als erstes _WIN32_WINNT definieren, am besten in den Projektoptionen.
Dann solltest du vielleicht mal schauen, ob du irgendwo etwas wie --std=c++98 aktiviert hast.Mir hat das ab und zu mal Probleme bereitet.
-
dankeschön, hat wenigstens zum Teil geholfen
- nu steh ich davor dass boost::system angeblich "automatisch" gelinkt wird, aber nicht zu den bilbiotheken gehört die mit boost.build erstellt werden müssen - auf jeden Fall wirft er mir undefined references in Bezug auf ein paar boost::system Funktionen an den kopfLeider hab ich da in der Doku von boos t selbst noch nichts zu dem Thema finden können, aber das kommt schon noch
-
Nutzt du den neuesten Teil?
Wenn ich mich recht erinnere, ist boost.system erst in 1.35 oder was das neue ist dabei.
-
ja. boost::asio ist auch erst in der 1.35 dabei und benutzt boost:system anscheinend, ich habs jedenfalls nicht direkt inlcudiert
-
Äh. Das Auto-Link Zeugs funktioniert doch nur mit MSVC++, oder?
Wüsste nicht dass der GCC vom MinGW das könnte... -> musst du selber angeben.
-
Using the Boost version of asio requires the Boost.System library to be built (included in download package).
-
Ich sehe gerade is ja nur eine Datei (Boost\libs\system\src\error_code.cpp) die man einfach mitcompilieren kann.