我正在尝试编译gsoap website中解释的计算示例,但没有成功。下面是我的.pro文件的样子。
QT += network \
xml
QT -= gui
TARGET = gsoap_c
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp \
soapcalcProxy.cpp \
stdsoap2.cpp \
soapC.cpp
HEADERS += soapcalcProxy.h \
stdsoap2.h \
soapH.h \
calc.h
OTHER_FILES += calc.nsmap当我编译应用程序时,我得到了93个未定义的引用。以下是其中的几个
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:593: undefined reference to `sendto@24'
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:595: undefined reference to `send@16'
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:629: undefined reference to `WSAGetLastError@0'
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:933: undefined reference to `recvfrom@24'
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:936: undefined reference to `ntohl@4'
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:941: undefined reference to `recv@16'
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:3557: undefined reference to `WSAStartup@8'
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:3615: undefined reference to `inet_addr@4'
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:3647: undefined reference to `gethostbyname@4'
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:3728: undefined reference to `socket@12'
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:3760: undefined reference to `setsockopt@20'
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:3902: undefined reference to `htons@4'
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:4310: undefined reference to `ioctlsocket@12'
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:4400: undefined reference to `__WSAFDIsSet@8'
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:4397: undefined reference to `select@20'
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:4531: undefined reference to `closesocket@4'
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:4542: undefined reference to `shutdown@8'
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:4608: undefined reference to `socket@12'
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:4699: undefined reference to `bind@12'
C:\Users\Drena\Desktop\project\qt\gsoap_c/stdsoap2.cpp:4956: undefined reference to `WSACleanup@0'我好像错过了一些网络图书馆。有没有人能帮我编译这个例子。
谢谢。
发布于 2011-04-06 00:56:53
解决方法:我应该早点看看this的帖子。它解决了我的问题。是我的错。只是为了完整起见,我从那篇文章中复制了解决方案。
**将LIBS += C:\MinGW\lib\libws2_32.a添加到*.pro文件中。libws32_a是不推荐使用的libwsock32.a文件的当前版本。**
发布于 2013-03-13 04:51:14
你也可以只添加"LIBS += -lws2_32",编译器会为你找到正确的库路径。
https://stackoverflow.com/questions/5555461
复制相似问题