Меню Закрыть

Define winsock deprecated no warnings

Я пытаюсь создать программу сокета multicast UDP с помощью VS2015 (консольное приложение на С++).

Я получил следующую ошибку:

Я попытался добавить символ _WINSOCK_DEPRECATED_NO_WARNINGS к моим настройкам проекта через "Проект" → "Свойства" → "Свойства конфигурации" → "C/С++" → "Препроцессор" → "Определения препроцессора" — Но все же он говорит то же самое.

И затем я попытался добавить символ выше #include "stdafx.h" как

#define _WINSOCK_DEPRECATED_NO_WARNINGS 1

а затем Нет (/sdl -) в "Проекте" → "Свойства" → "Свойства конфигурации" → "C/С++" → Общие → Проверка SDL

теперь я получаю сообщение об ошибке

Наконец, я попытался реализовать

Мне нужно понять, почему ошибка не была решена даже после добавления макроса _WINSOCK.

Я использую Visual Studio 2015 и пытаюсь скомпилировать код, который работал до обновления с VS 2013.

‘inet_addr’: используйте взамен inet_pton () или InetPton () или определите _WINSOCK_DEPRECATED_NO_WARNINGS

Я попытался использовать упомянутые функции, но они не были определены. Я попытался определить макрос во многих местах, но ничего не произошло. Другой поток сказал, что я должен включить Ws2tcpip.h вместо WinSock2 & добавить Ws2_32.lib. Я уже добавил библиотеку, и когда я использовал метод include, ничего не произошло. Что здесь происходит?!

Решение

Строка ip может быть преобразована в in_addr структура с InetPton функция.
Используется так:

Вам необходимо включить заголовочный файл «Ws2tcpip.h», использовать библиотеку «Ws2_32.lib» и DLL «Ws2_32.dll».

Другие решения

Просто чтобы сделать преобразование ясным. Допустим, у вас есть код с использованием устаревшего inet_addr как в этом примере:

Это может быть преобразовано в более новый InetPton следующее:

_T макрос мешаетconst char несовместим с PCWSTR» ошибка.

Ты можешь попробовать

для использования inet_addr() ,

Читайте также:  Lower bound upper bound

убедитесь, что вы определили _WINSOCK_DEPRECATED_NO_WARNINGS перед всем включением.

I am trying to create a UDP multicast socket program using VS2015 (C++ console application).

I got the following error,

I tried to add _WINSOCK_DEPRECATED_NO_WARNINGS symbol to my project settings via "Project"->"Properties"->"Configuration properties"->"C/C++"->"Preprocessor"->"Preprocessor definitions" .. But still it says the same.

And then I tried to add symbol above #include "stdafx.h" like

#define _WINSOCK_DEPRECATED_NO_WARNINGS 1

and then No(/sdl-) on "Project"->"Properties"->"Configuration properties"->"C/C++"->General->SDL checks

now I get a error message saying

Finally I tried to implement

I need to understand why the error didn’t resolved even after adding the _WINSOCK. macro.

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.