2015-03-13 49 views
0

我以前在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編程語言。請幫我解決這個問題。

+3

你似乎沒有鏈接到'Ws2_32'庫。 – 2015-03-13 08:46:58

+0

此外,您顯示的代碼與錯誤消息不匹配......您不在代碼中的任何位置使用「inet_pton」或「socket」? – 2015-03-13 08:54:44

+0

你在使用makefile嗎? – 2015-03-13 08:57:47

回答

0

試試這個.. 菜單 - 項目 - 項目選擇 - 參數 - 鏈接 單擊[添加庫或對象]按鈕 ,並添加「您開發-CPP目錄」 /lib/libws2_32.a

0

你有添加鏈接庫WSAStartuphtonsinet_ptonsocket鏈接功能。

一些文件與.a

ctrl + h - >Parameters - >Add library or object

瀏覽一些在那裏同樣C:\Program Files\CodeBlocks\MinGW\lib,找到你的對象。

相關問題