我以前在Linux中成功運行套接字程序,但我必須將它導出到WindowsXP,必須承認我在WindowsXP編程方面相對較新。這些都是我在WindowsXP的版本中使用我想在DevC++中編譯一個套接字程序,但每次我都會遇到很多像這樣的鏈接程序錯誤:
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
//#include <winsock.h>
#include <winsock2.h>
#include <stdio.h>
#include <string.h>
#include <ws2tcpip.h>
#include <stdlib.h>
#include <stdio.h>
// Need to link with Ws2_32.lib, Mswsock.lib, and Advapi32.lib
#pragma comment (lib, "Ws2_32.lib")
#pragma comment (lib, "Mswsock.lib")
#pragma comment (lib, "AdvApi32.lib")
int main() {
int iResult;
WSADATA wsaData;
// Initialize Winsock
iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if (iResult != 0) {
printf("WSAStartup failed: %d\n", iResult);
return 1;
}
getch();return 0;}
我剛剛發現樣品插座程序的頭文件在互聯網上的頭文件,我不知道我是否真的需要所有的人,以及是否我應該使用winsock.h或winsock2.h。我還了解到,爲了解決這些鏈接器問題,我需要將庫鏈接到程序,這是我現在的主要問題。如何鏈接WindowsXP中的庫並使DevC++中的程序工作?順便說一句,我正在使用C編程語言。請幫我解決這個問題。
你似乎沒有鏈接到'Ws2_32'庫。 – 2015-03-13 08:46:58
此外,您顯示的代碼與錯誤消息不匹配......您不在代碼中的任何位置使用「inet_pton」或「socket」? – 2015-03-13 08:54:44
你在使用makefile嗎? – 2015-03-13 08:57:47