Коллеги,
пытаюсь собрать библиотеку MQTT (
https://www.eclipse.org/paho/clients/c/) средствами Qt, mingw32.
Для этого создал проект paho-mqtt3c.pro, добавил в него файлы из проекта VS 2013, содержащегося в архиве. Подключил библиотеку ws2_32.dll, которая упоминалась в этом архиве (пришлось для нее сделать библиотеку импорта libws2_32.a с помощью pexports, dlltool). На этапе сборки дает ошибку:
./release\MQTTClient.o:MQTTClient.c:(.text+0x14c9): undefined reference to `_imp__getsockopt@20'
./release\MQTTClient.o:MQTTClient.c:(.text+0x1524): undefined reference to `_imp__getsockopt@20'
./release\MQTTClient.o:MQTTClient.c:(.text+0x2435): undefined reference to `_imp__getsockopt@20'
При этом в библиотеке импорта (по крайней мере, в def-файле) этот вызов есть.
Если вместо libws2_32 подключать libwsock32, то линковщик ругается на отстутствие других вызовов:
./release\Socket.o:Socket.c:(.text+0x839): undefined reference to `_imp__WSASend@28'
./release\Socket.o:Socket.c:(.text+0x101d): undefined reference to `_imp__getaddrinfo@16'
./release\Socket.o:Socket.c:(.text+0x1077): undefined reference to `_imp__freeaddrinfo@4'
./release\Socket.o:Socket.c:(.text+0x1a3b): undefined reference to `_imp__WSAAddressToStringW@20'
В чем моя ошибка?
Вообще-то проект будет работать под Linux (там со сборкой все в порядке), а для Windows можно взять готовые библиотеки (
https://projects.eclipse.org/projects/technology.paho/downloads), но хотелось бы разобраться. Спасибо.
upd: забыл вложить проект.