尝试编译boost asio示例项目时 async_tcp_echo_server.cpp
我收到如下错误:
__MSABI_LONG was not declared in this file scope
BOOST_ASIO_NATIVE_ERROR(ERROR_BROKEN_PIPE)
__MSABI_LONG was not declared in this file scope
BOOST_ASIO_NATIVE_ERROR(ERROR_OPERATION ABORTED)
这是Boost 1.55.0和gcc版本4.8.3
使用gcc和以下命令编译boost
./bootstrap.sh
./b2 cxxflags="-D__USE_W32_SOCKETS -D_WIN32_WINNT=0x0501
./b2 install
我尝试使用
编译示例项目gcc -std=C++11 -D__USE_W32_SOCKETS -D_WIN32_WINNT=0x0501 -I C:\boost_1_55_0 C:\boost_1_55_0\boost\asio.hpp async_tcp_echo_server.cpp
答案 0 :(得分:0)
我知道这是一种旧线索。 我设法通过Cygwin setup_x86.exe重新安装boost lib来修复它。 我安装的版本是1.57。而且您不必在命令行中放置-D选项。 希望这可能有所帮助。
答案 1 :(得分:0)
1_57版本对我没用,它给了我fd_set errors
。
这是我试图使boost示例代码工作的原因:
#define __MSABI_LONG(x) x
。 - 冷,我知道:)。g++
:-D_WIN32_WINNT=0x0501 -D__USE_W32_SOCKETS -std=c++11 -lboost_system -lws2_32
瞧!