Проблемы совместимости Winsocks - PullRequest
0 голосов
/ 12 июля 2011

У меня есть исполняемый файл, который требует ws2_32.dll, но требует WS2tcpip.h и работает только в Windows 7, не работает в XP, не пробовал Vista.

Это серьезная проблема, так как вы не можете запустить программу без отсутствующих DLL-файлов. Как я могу обернуть все это, чтобы у меня не было проблем с отсутствующими DLL? Или проблемы с совместимостью вообще!

Ответы [ 3 ]

0 голосов
/ 12 июля 2011

Я думаю, вам следует проверить следующую статью: ссылка .

Обновление: вы должны сделать что-то вроде этого, когда вы будете вводить зависимые от Windows заголовки:

// Windows XP
#define WINVER 0x0501
#define _WIN32_WINNT 0x0501
#include <Windows.h>
0 голосов
/ 16 июля 2011

Я просто использовал LoadLibrary и GetProcAddress, чтобы найти функции внутри ws2_32.dll, так что ваша стандартная связь динамических функций. Простой!

0 голосов
/ 12 июля 2011

ws2_32.dll есть на всех Windows, так как ... Windows каменного века. Если он использует некоторые функции, которые есть только в Windows 7 или Windows Vista, вам придется перекомпилировать / перенести его обратно в Windows XP, чтобы он не требовался.

...