2016-04-14 25 views
3

boost.asioを使用するプログラムをコンパイルしようとすると、奇妙なエラーが発生します。私はちょうどそれをダウンロード/ライブラリをコンパイルしたので、その間にエラーがあったでしょうか?エラーが少し長くに行くCygwinでのasioエラーの改善

In file included from /usr/local/include/boost/asio/async_result.hpp:18:0, 
       from /usr/local/include/boost/asio.hpp:20, 
       from test.cpp:27: 
/usr/local/include/boost/asio/detail/config.hpp:566:5: warning: #warning Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. [-Wcpp] 
# warning Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. 
    ^
/usr/local/include/boost/asio/detail/config.hpp:567:5: warning: #warning For example, add -D_WIN32_WINNT=0x0501 to the compiler command line. [-Wcpp] 
# warning For example, add -D_WIN32_WINNT=0x0501 to the compiler command line. 
    ^
/usr/local/include/boost/asio/detail/config.hpp:568:5: warning: #warning Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target). [-Wcpp] 
# warning Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target). 
    ^
/usr/local/include/boost/asio/detail/config.hpp:592:5: error: #error You must add -D__USE_W32_SOCKETS to your compiler options. 
# error You must add -D__USE_W32_SOCKETS to your compiler options. 
    ^
In file included from /usr/local/include/boost/asio/detail/impl/posix_tss_ptr.ipp:24:0, 
       from /usr/local/include/boost/asio/detail/posix_tss_ptr.hpp:76, 
       from /usr/local/include/boost/asio/detail/tss_ptr.hpp:27, 
       from /usr/local/include/boost/asio/detail/call_stack.hpp:20, 
       from /usr/local/include/boost/asio/impl/handler_alloc_hook.ipp:19, 
       from /usr/local/include/boost/asio/handler_alloc_hook.hpp:80, 
       from /usr/local/include/boost/asio/detail/handler_alloc_helpers.hpp:21, 
       from /usr/local/include/boost/asio/detail/bind_handler.hpp:19, 
       from /usr/local/include/boost/asio/detail/wrapped_handler.hpp:18, 
       from /usr/local/include/boost/asio/io_service.hpp:24, 
       from /usr/local/include/boost/asio/basic_io_object.hpp:19, 
       from /usr/local/include/boost/asio/basic_socket.hpp:20, 
       from /usr/local/include/boost/asio/basic_datagram_socket.hpp:20, 
       from /usr/local/include/boost/asio.hpp:21, 
       from test.cpp:27: 
/usr/local/include/boost/asio/error.hpp:87:31: error: a function call cannot appear in a constant-expression 
     BOOST_ASIO_NATIVE_ERROR(ERROR_BROKEN_PIPE), 
          ^
/usr/local/include/boost/asio/error.hpp:140:31: error: a function call cannot appear in a constant-expression 
     BOOST_ASIO_NATIVE_ERROR(ERROR_OUTOFMEMORY), 
          ^
/usr/local/include/boost/asio/error.hpp:145:31: error: a function call cannot appear in a constant-expression 
     BOOST_ASIO_NATIVE_ERROR(ERROR_ACCESS_DENIED), 
          ^
/usr/local/include/boost/asio/error.hpp:153:31: error: a function call cannot appear in a constant-expression 
     BOOST_ASIO_NATIVE_ERROR(ERROR_BAD_UNIT), 
          ^
/usr/local/include/boost/asio/error.hpp:164:31: error: a function call cannot appear in a constant-expression 
     BOOST_ASIO_NATIVE_ERROR(ERROR_OPERATION_ABORTED), 
          ^
/usr/local/include/boost/asio/error.hpp:178:31: error: a function call cannot appear in a constant-expression 
     BOOST_ASIO_NATIVE_ERROR(ERROR_RETRY), 
          ^
In file included from /usr/local/include/boost/asio/detail/socket_types.hpp:38:0, 
       from /usr/local/include/boost/asio/detail/impl/winsock_init.ipp:22, 
       from /usr/local/include/boost/asio/detail/winsock_init.hpp:125, 
       from /usr/local/include/boost/asio/io_service.hpp:28, 
       from /usr/local/include/boost/asio/basic_io_object.hpp:19, 
       from /usr/local/include/boost/asio/basic_socket.hpp:20, 
       from /usr/local/include/boost/asio/basic_datagram_socket.hpp:20, 
       from /usr/local/include/boost/asio.hpp:21, 
       from test.cpp:27: 
/usr/include/w32api/winsock2.h:1004:68: error: conflicting declaration of C function ‘int gethostname(char*, int)’ 
    WINSOCK_API_LINKAGE int WSAAPI gethostname(char *name,int namelen); 
                    ^
In file included from /usr/include/wchar.h:4:0, 
       from /usr/lib/gcc/x86_64-pc-cygwin/5.3.0/include/c++/cwchar:44, 
       from /usr/lib/gcc/x86_64-pc-cygwin/5.3.0/include/c++/bits/postypes.h:40, 
       from /usr/lib/gcc/x86_64-pc-cygwin/5.3.0/include/c++/iosfwd:40, 
       from /usr/lib/gcc/x86_64-pc-cygwin/5.3.0/include/c++/ios:38, 
       from /usr/lib/gcc/x86_64-pc-cygwin/5.3.0/include/c++/ostream:38, 
       from /usr/lib/gcc/x86_64-pc-cygwin/5.3.0/include/c++/iostream:39, 
       from test.cpp:26: 
/usr/include/sys/unistd.h:249:6: note: previous declaration ‘int gethostname(char*, size_t)’ 
    int _EXFUN(gethostname, (char *__name, size_t __len)); 
    ^
In file included from /usr/local/include/boost/asio/detail/winsock_init.hpp:125:0, 
       from /usr/local/include/boost/asio/io_service.hpp:28, 
       from /usr/local/include/boost/asio/basic_io_object.hpp:19, 
       from /usr/local/include/boost/asio/basic_socket.hpp:20, 
       from /usr/local/include/boost/asio/basic_datagram_socket.hpp:20, 
       from /usr/local/include/boost/asio.hpp:21, 
       from test.cpp:27: 
/usr/local/include/boost/asio/detail/impl/winsock_init.ipp: In static member function ‘static void boost::asio::detail::winsock_init_base::startup(boost::asio::detail::winsock_init_base::data&, unsigned char, unsigned char)’: 
/usr/local/include/boost/asio/detail/impl/winsock_init.ipp:36:44: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedIncrement(volatile int*)’ 
    if (::InterlockedIncrement(&d.init_count_) == 1) 
              ^
/usr/local/include/boost/asio/detail/impl/winsock_init.ipp:40:45: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchange(volatile int*, int)’ 
    ::InterlockedExchange(&d.result_, result); 
              ^
/usr/local/include/boost/asio/detail/impl/winsock_init.ipp: In static member function ‘static void boost::asio::detail::winsock_init_base::manual_startup(boost::asio::detail::winsock_init_base::data&)’: 
/usr/local/include/boost/asio/detail/impl/winsock_init.ipp:46:44: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedIncrement(volatile int*)’ 
    if (::InterlockedIncrement(&d.init_count_) == 1) 
              ^
/usr/local/include/boost/asio/detail/impl/winsock_init.ipp:48:40: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchange(volatile int*, int)’ 
    ::InterlockedExchange(&d.result_, 0); 
             ^
/usr/local/include/boost/asio/detail/impl/winsock_init.ipp: In static member function ‘static void boost::asio::detail::winsock_init_base::cleanup(boost::asio::detail::winsock_init_base::data&)’: 
/usr/local/include/boost/asio/detail/impl/winsock_init.ipp:54:44: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedDecrement(volatile int*)’ 
    if (::InterlockedDecrement(&d.init_count_) == 0) 
              ^
/usr/local/include/boost/asio/detail/impl/winsock_init.ipp: In static member function ‘static void boost::asio::detail::winsock_init_base::manual_cleanup(boost::asio::detail::winsock_init_base::data&)’: 
/usr/local/include/boost/asio/detail/impl/winsock_init.ipp:62:40: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedDecrement(volatile int*)’ 
    ::InterlockedDecrement(&d.init_count_); 
             ^
/usr/local/include/boost/asio/detail/impl/winsock_init.ipp: In static member function ‘static void boost::asio::detail::winsock_init_base::throw_on_error(boost::asio::detail::winsock_init_base::data&)’: 
/usr/local/include/boost/asio/detail/impl/winsock_init.ipp:67:55: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchangeAdd(volatile int*, int)’ 
    long result = ::InterlockedExchangeAdd(&d.result_, 0); 
                ^
In file included from /usr/local/include/boost/asio/impl/io_service.hpp:69:0, 
       from /usr/local/include/boost/asio/io_service.hpp:767, 
       from /usr/local/include/boost/asio/basic_io_object.hpp:19, 
       from /usr/local/include/boost/asio/basic_socket.hpp:20, 
       from /usr/local/include/boost/asio/basic_datagram_socket.hpp:20, 
       from /usr/local/include/boost/asio.hpp:21, 
       from test.cpp:27: 
/usr/local/include/boost/asio/detail/win_iocp_io_service.hpp: In member function ‘bool boost::asio::detail::win_iocp_io_service::stopped() const’: 
/usr/local/include/boost/asio/detail/win_iocp_io_service.hpp:84:49: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchangeAdd(volatile int*, int)’ 
    return ::InterlockedExchangeAdd(&stopped_, 0) != 0; 
               ^
/usr/local/include/boost/asio/detail/win_iocp_io_service.hpp: In member function ‘void boost::asio::detail::win_iocp_io_service::reset()’: 
/usr/local/include/boost/asio/detail/win_iocp_io_service.hpp:90:39: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchange(volatile int*, int)’ 
    ::InterlockedExchange(&stopped_, 0); 
            ^
/usr/local/include/boost/asio/detail/win_iocp_io_service.hpp: In member function ‘void boost::asio::detail::win_iocp_io_service::work_started()’: 
/usr/local/include/boost/asio/detail/win_iocp_io_service.hpp:96:46: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedIncrement(volatile int*)’ 
    ::InterlockedIncrement(&outstanding_work_); 
              ^
/usr/local/include/boost/asio/detail/win_iocp_io_service.hpp: In member function ‘void boost::asio::detail::win_iocp_io_service::work_finished()’: 
/usr/local/include/boost/asio/detail/win_iocp_io_service.hpp:102:50: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedDecrement(volatile int*)’ 
    if (::InterlockedDecrement(&outstanding_work_) == 0) 
               ^
In file included from /usr/local/include/boost/asio/detail/win_iocp_io_service.hpp:310:0, 
       from /usr/local/include/boost/asio/impl/io_service.hpp:69, 
       from /usr/local/include/boost/asio/io_service.hpp:767, 
       from /usr/local/include/boost/asio/basic_io_object.hpp:19, 
       from /usr/local/include/boost/asio/basic_socket.hpp:20, 
       from /usr/local/include/boost/asio/basic_datagram_socket.hpp:20, 
       from /usr/local/include/boost/asio.hpp:21, 
       from test.cpp:27: 
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.hpp: In member function ‘void boost::asio::detail::win_iocp_io_service::schedule_timer(boost::asio::detail::timer_queue<Time_Traits>&, const typename Time_Traits::time_type&, typename boost::asio::detail::timer_queue<Time_Traits>::per_timer_data&, boost::asio::detail::wait_op*)’: 
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.hpp:94:45: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchangeAdd(volatile int*, int)’ 
    if (::InterlockedExchangeAdd(&shutdown_, 0) != 0) 
              ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.hpp: In member function ‘std::size_t boost::asio::detail::win_iocp_io_service::cancel_timer(boost::asio::detail::timer_queue<Time_Traits>&, typename boost::asio::detail::timer_queue<Time_Traits>::per_timer_data&, std::size_t)’: 
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.hpp:114:45: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchangeAdd(volatile int*, int)’ 
    if (::InterlockedExchangeAdd(&shutdown_, 0) != 0) 
              ^
In file included from /usr/local/include/boost/asio/detail/win_iocp_io_service.hpp:312:0, 
       from /usr/local/include/boost/asio/impl/io_service.hpp:69, 
       from /usr/local/include/boost/asio/io_service.hpp:767, 
       from /usr/local/include/boost/asio/basic_io_object.hpp:19, 
       from /usr/local/include/boost/asio/basic_socket.hpp:20, 
       from /usr/local/include/boost/asio/basic_datagram_socket.hpp:20, 
       from /usr/local/include/boost/asio.hpp:21, 
       from test.cpp:27: 
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp: In member function ‘void boost::asio::detail::win_iocp_io_service::timer_thread_function::operator()()’: 
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:51:63: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchangeAdd(volatile int*, int)’ 
    while (::InterlockedExchangeAdd(&io_service_->shutdown_, 0) == 0) 
                  ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:56:66: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchange(volatile int*, int)’ 
     ::InterlockedExchange(&io_service_->dispatch_required_, 1); 
                   ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp: In member function ‘virtual void boost::asio::detail::win_iocp_io_service::shutdown_service()’: 
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:93:38: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchange(volatile int*, int)’ 
    ::InterlockedExchange(&shutdown_, 1); 
            ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:102:56: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchangeAdd(volatile int*, int)’ 
    while (::InterlockedExchangeAdd(&outstanding_work_, 0) > 0) 
                 ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:112:50: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedDecrement(volatile int*)’ 
     ::InterlockedDecrement(&outstanding_work_); 
               ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:125:50: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedDecrement(volatile int*)’ 
     ::InterlockedDecrement(&outstanding_work_); 
               ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp: In member function ‘size_t boost::asio::detail::win_iocp_io_service::run(boost::system::error_code&)’: 
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:153:53: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchangeAdd(volatile int*, int)’ 
    if (::InterlockedExchangeAdd(&outstanding_work_, 0) == 0) 
                ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp: In member function ‘size_t boost::asio::detail::win_iocp_io_service::run_one(boost::system::error_code&)’: 
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:172:53: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchangeAdd(volatile int*, int)’ 
    if (::InterlockedExchangeAdd(&outstanding_work_, 0) == 0) 
                ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp: In member function ‘size_t boost::asio::detail::win_iocp_io_service::poll(boost::system::error_code& ’: 
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:187:53: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchangeAdd(volatile int*, int)’ 
    if (::InterlockedExchangeAdd(&outstanding_work_, 0) == 0) 
                ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp: In member function ‘size_t boost::asio::detail::win_iocp_io_service::poll_one(boost::system::error_code&)’: 
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:206:53: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchangeAdd(volatile int*, int)’ 
    if (::InterlockedExchangeAdd(&outstanding_work_, 0) == 0) 
                ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp: In member function ‘void boost::asio::detail::win_iocp_io_service::stop()’: 
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:221:41: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchange(volatile int*, int)’ 
    if (::InterlockedExchange(&stopped_, 1) == 0) 
             ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:223:53: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchange(volatile int*, int)’ 
    if (::InterlockedExchange(&stop_event_posted_, 1) == 0) 
                ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp: In member function ‘void boost::asio::detail::win_iocp_io_service::post_deferred_completion(boost::asio::detail::win_iocp_operation*)’: 
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:247:49: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchange(volatile int*, int)’ 
    ::InterlockedExchange(&dispatch_required_, 1); 
               ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp: In member function ‘void boost::asio::detail::win_iocp_io_service::post_deferred_completions(boost::asio::detail::op_queue<boost::asio::detail::win_iocp_operation>&)’: 
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:268:51: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchange(volatile int*, int)’ 
     ::InterlockedExchange(&dispatch_required_, 1); 
               ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp: In member function ‘void boost::asio::detail::win_iocp_io_service::abandon_operations(boost::asio::detail::op_queue<boost::asio::detail::win_iocp_operation>&)’: 
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:279:46: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedDecrement(volatile int*)’ 
    ::InterlockedDecrement(&outstanding_work_); 
              ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp: In member function ‘void boost::asio::detail::win_iocp_io_service::on_pending(boost::asio::detail::win_iocp_operation*)’: 
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:286:53: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedCompareExchange(volatile int*, int, int)’ 
    if (::InterlockedCompareExchange(&op->ready_, 1, 0) == 1) 
                ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:295:51: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchange(volatile int*, int)’ 
     ::InterlockedExchange(&dispatch_required_, 1); 
               ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp: In member function ‘void boost::asio::detail::win_iocp_io_service::on_completion(boost::asio::detail::win_iocp_operation*, DWORD, DWORD)’: 
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:319:49: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchange(volatile int*, int)’ 
    ::InterlockedExchange(&dispatch_required_, 1); 
               ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp: In member function ‘void boost::asio::detail::win_iocp_io_service::on_completion(boost::asio::detail::win_iocp_operation*, const boost::system::error_code&, DWORD)’: 
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:341:49: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchange(volatile int*, int)’ 
    ::InterlockedExchange(&dispatch_required_, 1); 
               ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp: In member function ‘size_t boost::asio::detail::win_iocp_io_service::do_one(bool, boost::system::error_code&)’: 
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:350:63: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedCompareExchange(volatile int*, int, int)’ 
    if (::InterlockedCompareExchange(&dispatch_required_, 0, 1) == 1) 
                  ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:399:57: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedCompareExchange(volatile int*, int, int)’ 
     if (::InterlockedCompareExchange(&op->ready_, 1, 0) == 1) 
                 ^
/usr/local/include/boost/asio/detail/impl/win_iocp_io_service.ipp:434:51: error: cannot convert ‘long int*’ to ‘volatile int*’ for argument ‘1’ to ‘int _InterlockedExchange(volatile int*, int)’ 
     ::InterlockedExchange(&stop_event_posted_, 0); 


:私はGCC、およびプログラム

Windows上のcygwinの使用しています :コンパイルしようと

#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!" << std::endl; 

    return 0; 
} 


が私にこのエラーメッセージを表示しますしかし、SOは投稿内の文字数を制限しています
私はこれに固執しており、進める方法がわかりません。どんな助けもありがとう!


編集: 編集:kenbaが提案したようにwindowsフラグを付けてコンパイルしました。しかし、同じエラーが表示され、その警告が上部に表示されません。
おそらく関連があります:私は他のいくつかのBoostライブラリをテストしましたが、問題なく動作しています。問題はasioと思われます。

答えて

0

私は自分のビルドビルドを削除し、代わりにcygwinインストーラを使用して問題を解決できました。なぜそれが起こったのか分かりませんが、cygwinとboostを使っている人は、インストーラの使用をお勧めします。

0

asioは、Windowsのバージョンがわかっている必要があるため、マクロを設定する必要があります。Using the Windows Headersを参照してください。

-DNTDDI_VERSION=NTDDI_WIN7 -D_WIN32_WINNT=_WIN32_WINNT_WIN7 

はまた、それ自体がヘッダのみライブラリでboost asioが、それはboostに連結する必要があることに注意してください。例えば、追加コンパイル・コマンドセットのWindowsに必要な値7`にNTDDI_VERSION_WIN32_WINNTに次あなたはブーストライブラリとboostgcc/mingwのバージョンを使用しているを構築した場所に応じ

-LC:\boost\boost_1_60_0\stage\lib -lboost_system-mgw49-mt-1_60 

systemライブラリなので、リンクコマンドは次のようなものが必要になります。