Использование сокетов winapi с Qt - PullRequest
1 голос
/ 07 июля 2011

Я использую API для связи с удаленным сервером, и он доступен только в C. Я не могу переписать его, потому что это очень специфический протокол, и он потребует слишком много усилий.

Предоставленный API-интерфейс использует стандартную схему Winsock2. Итак, для работы с ним я добавил

LIBS += C:\\QtSDK\\mingw\\lib\\libws2_32.a

к файлу .pro моего проекта.

Однако, когда программа получает доступ к любой функции WinSock, даже WSAStartup, она немедленно вылетает с сообщением об ошибке SIGILL -- Illegal Instruction. Что я делаю не так?

1 Ответ

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

Вы сами компилируете этот API или у вас есть пара объектов / заголовков? Если самостоятельно, это с QtSDK\MinGW? Вы указываете на заголовки winsock MinGW?

Хорошим первым тестом будет попытка скомпилировать простой драйвер main с использованием этой библиотеки, с QtSDK\MinGW в качестве автономного, без Qt's qmake. Как только вы заставите работать , перенос в ваш проект Qt будет простым.

...