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 kopf 😕 Leider 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.


Anmelden zum Antworten