[Solved]Linking to some functions of windows sockets api
-
Hello,
I have a Qt project with libmodbus in it.
On Linux it compiles and links ok , but on Windows there are linking errors that I try to resolve and ask here perhaps somebody
get the same problem:
I defined
@
#define WINVER = 0x0501@There is a C code that uses some functions for tcp/ip communication
I included: <Ws2tcpip.h> <winsock.h><winsock2.h><w32api.h><winnetwk.h><ws2spi.h><wtsapi32.h>
also
and also added to Qt .pro file next library
@win32:LIBS += -lsetupapi
-Ws_2_32.lib@The compiler is mingw32
I get next linking errors:
./release\modbus-tcp.o:modbus-tcp.c:(.text+0x128): undefined reference to
setsockopt@20' ./release\modbus-tcp.o:modbus-tcp.c:(.text+0x160): undefined reference to
setsockopt@20'
./release\modbus-tcp.o:modbus-tcp.c:(.text+0x1b7): undefined reference togetaddrinfo@16' ./release\modbus-tcp.o:modbus-tcp.c:(.text+0x1ec): undefined reference to
socket@12'
./release\modbus-tcp.o:modbus-tcp.c:(.text+0x214): undefined reference toconnect@12' ./release\modbus-tcp.o:modbus-tcp.c:(.text+0x22c): undefined reference to
freeaddrinfo@4'
./release\modbus-tcp.o:modbus-tcp.c:(.text+0x244): undefined reference toclosesocket@4' ./release\modbus-tcp.o:modbus-tcp.c:(.text+0x28b): undefined reference to
socket@12'
./release\modbus-tcp.o:modbus-tcp.c:(.text+0x2b9): undefined reference tohtons@4' ./release\modbus-tcp.o:modbus-tcp.c:(.text+0x2c6): undefined reference to
inet_addr@4'
./release\modbus-tcp.o:modbus-tcp.c:(.text+0x2e4): undefined reference toconnect@12' ./release\modbus-tcp.o:modbus-tcp.c:(.text+0x314): undefined reference to
closesocket@4'
./release\modbus-tcp.o:modbus-tcp.c:(.text+0x5e0): undefined reference toselect@20' ./release\modbus-tcp.o:modbus-tcp.c:(.text+0x673): undefined reference to
accept@12'
./release\modbus-tcp.o:modbus-tcp.c:(.text+0x6a6): undefined reference toclosesocket@4' ./release\modbus-tcp.o:modbus-tcp.c:(.text+0x6de): undefined reference to
accept@12'
./release\modbus-tcp.o:modbus-tcp.c:(.text+0x707): undefined reference toinet_ntoa@4' ./release\modbus-tcp.o:modbus-tcp.c:(.text+0x72f): undefined reference to
closesocket@4'
./release\modbus-tcp.o:modbus-tcp.c:(.text+0x7b0): undefined reference togetaddrinfo@16' ./release\modbus-tcp.o:modbus-tcp.c:(.text+0x813): undefined reference to
setsockopt@20'
./release\modbus-tcp.o:modbus-tcp.c:(.text+0x822): undefined reference toclosesocket@4' ./release\modbus-tcp.o:modbus-tcp.c:(.text+0x855): undefined reference to
socket@12'
./release\modbus-tcp.o:modbus-tcp.c:(.text+0x88e): undefined reference tobind@12' ./release\modbus-tcp.o:modbus-tcp.c:(.text+0x89d): undefined reference to
closesocket@4'
./release\modbus-tcp.o:modbus-tcp.c:(.text+0x8cb): undefined reference tolisten@8' ./release\modbus-tcp.o:modbus-tcp.c:(.text+0x8dd): undefined reference to
freeaddrinfo@4'
./release\modbus-tcp.o:modbus-tcp.c:(.text+0x907): undefined reference tofreeaddrinfo@4' ./release\modbus-tcp.o:modbus-tcp.c:(.text+0x918): undefined reference to
closesocket@4'
./release\modbus-tcp.o:modbus-tcp.c:(.text+0x966): undefined reference tosocket@12' ./release\modbus-tcp.o:modbus-tcp.c:(.text+0x9a2): undefined reference to
setsockopt@20'
./release\modbus-tcp.o:modbus-tcp.c:(.text+0x9ca): undefined reference tohtons@4' ./release\modbus-tcp.o:modbus-tcp.c:(.text+0x9ea): undefined reference to
bind@12'
./release\modbus-tcp.o:modbus-tcp.c:(.text+0x9ff): undefined reference tolisten@8' ./release\modbus-tcp.o:modbus-tcp.c:(.text+0xa18): undefined reference to
closesocket@4'
./release\modbus-tcp.o:modbus-tcp.c:(.text+0xa57): undefined reference torecv@16' ./release\modbus-tcp.o:modbus-tcp.c:(.text+0xa9e): undefined reference to
recv@16'
./release\modbus-tcp.o:modbus-tcp.c:(.text+0xac1): undefined reference toshutdown@8' ./release\modbus-tcp.o:modbus-tcp.c:(.text+0xacf): undefined reference to
closesocket@4'
./release\modbus-tcp.o:modbus-tcp.c:(.text+0xb92): undefined reference to `send@16'
It seems mingw could not link to windows socket functions that are in the list.
What header to include, what library to add to .pro file so as the linking will succeed?
Thank you very much
Awaiting for your help.