C++11 未定义对`u imp_usocket';

C++11 未定义对`u imp_usocket';,c++11,winsock2,C++11,Winsock2,我在win10上做一个套接字项目,我得到了这些错误 g++ -ggdb -std=c++11 -Wall -pedantic -o calcserver CalcServer.c DieWithError.c HandleTCPClient.c CalcFramer.cpp CalcParser.cpp C:\Users\HARRYS~1\AppData\Local\Temp\cceLC8Xb.o: In function `main': D:\src/CalcServer.c:35: und

我在win10上做一个套接字项目,我得到了这些错误

g++ -ggdb -std=c++11 -Wall -pedantic -o calcserver CalcServer.c 
DieWithError.c HandleTCPClient.c CalcFramer.cpp CalcParser.cpp
C:\Users\HARRYS~1\AppData\Local\Temp\cceLC8Xb.o: In function `main':
D:\src/CalcServer.c:35: undefined reference to `__imp_socket'
D:\src/CalcServer.c:41: undefined reference to `__imp_htonl'
D:\src/CalcServer.c:42: undefined reference to `__imp_htons'
D:\src/CalcServer.c:45: undefined reference to `__imp_bind'
D:\src/CalcServer.c:49: undefined reference to `__imp_listen'
D:\src/CalcServer.c:58: undefined reference to `__imp_accept'
D:\src/CalcServer.c:64: undefined reference to `__imp_inet_ntoa'
collect2.exe: error: ld returned 1 exit status
make: *** [calcserver] Error 1
我试图链接Ws2_32.lib。我在目录src下下载Ws2_32.lib,并修改我的makefile,如下所示:

CC=g++
CFLAGS=-ggdb -std=c++11 -Wall -pedantic

LINKFLAGS = -L"D:\src" -lWS2_32

H_FILES=CalcFramer.hpp CalcParser.hpp
FILES=CalcServer.c DieWithError.c HandleTCPClient.c CalcFramer.cpp CalcParser.cpp

all: calcserver

calcserver: $(FILES) $(H_FILES)
$(CC) $(CFLAGS) -o calcserver $(FILES)

clean:
rm -rf calcserver
然而,我仍然得到上述错误。我已经将所有sys/socket.h头更改为Winsock.h和Winsock2.h。所以我认为这并不是导致我犯错误的原因