Я пытаюсь использовать boost.asio в своем проекте C ++, используя Cygwin 64-bit. Однако даже такая простая программа:
// 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_SERVICE
, getaddrinfo
или host_name
. Полный журнал ошибок можно найти здесь: https://pastebin.com/RwpX3bx3
В этот вопрос здесь , предлагается добавить -D_XOPEN_SOURCE=500
в командную строку. Но, как вы видите, я компилирую его с -D_XOPEN_SOURCE=500
, и он не работает. Я также пытался удалить и переустановить libboost-devel
через установщик Cygwin, но это также не сработало.
(РЕДАКТИРОВАТЬ: Нет, без -D_XOPEN_SOURCE=500
он тоже не работает. Без него вы получите: https://pastebin.com/AExBa2pL)
Что здесь не так?