CodeBlocks + Boost.asio in Windows
-
Tach,
ich hab mal wieder ein kleines Problem. Ich schaff es nicht Asio zum laufen zu bekommen. Ich weiß, dass es mit Winsock zusammenhängt... aber hab keine Ahnung was ich da in Code Blocks einstellen muss
#include <iostream> #include <boost/asio.hpp> #include <boost/date_time/posix_time/posix_time.hpp> int main() { boost::asio::io_service io; boost::asio::deadline_timer t(io, boost::posix_time::seconds(5)); t.wait(); std::cout << "Hello, world!\n"; return 0; }
-------------- Build: Debug in BoostTest --------------- Compiling: main.cpp In file included from C:/MinGW/boost/boost_1_38_0/include/boost-1_38/boost/date_time/microsec_time_clock.hpp:23, from C:/MinGW/boost/boost_1_38_0/include/boost-1_38/boost/date_time/posix_time/posix_time_types.hpp:11, from C:/MinGW/boost/boost_1_38_0/include/boost-1_38/boost/asio/detail/select_reactor.hpp:25, from C:/MinGW/boost/boost_1_38_0/include/boost-1_38/boost/asio/impl/io_service.ipp:27, from C:/MinGW/boost/boost_1_38_0/include/boost-1_38/boost/asio/io_service.hpp:550, from C:/MinGW/boost/boost_1_38_0/include/boost-1_38/boost/asio/basic_io_object.hpp:20, from C:/MinGW/boost/boost_1_38_0/include/boost-1_38/boost/asio/basic_socket.hpp:24, from C:/MinGW/boost/boost_1_38_0/include/boost-1_38/boost/asio/basic_datagram_socket.hpp:25, from C:/MinGW/boost/boost_1_38_0/include/boost-1_38/boost/asio.hpp:20, from C:\Users\Steffen\Documents\Proggen\Code Blocks\BoostTest\main.cpp:12: C:/MinGW/boost/boost_1_38_0/include/boost-1_38/boost/date_time/filetime_functions.hpp: In function `uint64_t boost::date_time::winapi::file_time_to_microseconds(const FileTimeT&)': C:/MinGW/boost/boost_1_38_0/include/boost-1_38/boost/date_time/filetime_functions.hpp:101: warning: left shift count >= width of type Linking console executable: bin\Debug\BoostTest.exe obj\Debug\main.o: In function `ZNK5boost6system14error_category10equivalentEiRKNS0_15error_conditionE': C:/MinGW/boost/boost_1_38_0/include/boost-1_38/boost/system/error_code.hpp:(.text$_ZN5boost4asio6detail12winsock_initILi2ELi0EE7do_initC1Ev[boost::asio::detail::winsock_init<2, 0>::do_init::do_init()]+0x1f): undefined reference to `WSAStartup@8' C:/MinGW/boost/boost_1_38_0/include/boost-1_38/boost/system/error_code.hpp:(.text$_ZN5boost4asio6detail10socket_ops6selectEiP6fd_setS4_S4_P7timevalRNS_6system10error_codeE[boost::asio::detail::socket_ops::select(int, fd_set*, fd_set*, fd_set*, timeval*, boost::system::error_code&)]+0xe4): undefined reference to `select@20' C:/MinGW/boost/boost_1_38_0/include/boost-1_38/boost/system/error_code.hpp:(.text$_ZN5boost4asio6detail10socket_ops13error_wrapperIiEET_S4_RNS_6system10error_codeE[int boost::asio::detail::socket_ops::error_wrapper<int>(int, boost::system::error_code&)]+0x13): undefined reference to `WSAGetLastError@0' C:/MinGW/boost/boost_1_38_0/include/boost-1_38/boost/system/error_code.hpp:(.text$_ZN5boost4asio6detail10socket_ops11clear_errorERNS_6system10error_codeE[boost::asio::detail::socket_ops::clear_error(boost::system::error_code&)]+0xf): undefined reference to `WSASetLastError@4' C:/MinGW/boost/boost_1_38_0/include/boost-1_38/boost/system/error_code.hpp:(.text$_ZN5boost4asio6detail12winsock_initILi2ELi0EE7do_initD1Ev[boost::asio::detail::winsock_init<2, 0>::do_init::~do_init()]+0x7): undefined reference to `WSACleanup@0' collect2: ld returned 1 exit status Process terminated with status 1 (0 minutes, 4 seconds) 5 errors, 1 warnings
-
Du mußt die Winsock Library dazu linken.
-
Sowas hab ich mir schon gedacht... weiß jmd wo ich ich die Library finde, ich bräuchte ja die Pfadangabe dazu?
-
Ok habs im MingGw Verzeichniss endlich gefunden... War irgendwie aber nicht im Libordner.
Thx an alle