繁体   English   中英

在Cygwin 64上包含boost.asio时出错

[英]Error when including boost.asio on Cygwin 64

我正在尝试使用Cygwin 64位在我的C ++项目中使用boost.asio。 但是,即使是这样简单的程序:

// compiled by: g++ -g -std=c++11 -D_XOPEN_SOURCE=500 -c -o build/server.o src/server.cpp

#include <boost/asio.hpp>

int main(int argc, const char** argv) {
    return 0;
}

导致大量错误消息。 GCC抱怨说找不到EAI_SERVICEgetaddrinfohost_name类的符号。 完整的错误日志可以在这里找到: https : //pastebin.com/RwpX3bx3

这里的问题中 ,建议我在命令行中添加-D_XOPEN_SOURCE=500 但是,正如您所看到的,我确实使用-D_XOPEN_SOURCE=500对其进行了编译,但它不起作用。 我也尝试通过Cygwin安装程序卸载并重新安装libboost-devel ,但这也没有用。

(编辑:不,没有-D_XOPEN_SOURCE=500也无法使用。没有它,您将得到: https : //pastebin.com/AExBa2pL

这是怎么了

问题出在-std=c++11 ,它限制了功能的范围。 没有任何限制,编译效果很好。

$ g++ -c server.cpp -o server.o
$ ls -s server.o
164 server.o

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM