[英]I'm trying to compile a socket program in DevC++ but everytime I do it I get a lot of linker errors like these:
我以前曾在Linux中成功運行過套接字程序,但必須將其導出到WindowsXP,並且我必須承認我對WindowsXP編程相對較新。 這些是我在WindowsXP版本中使用的頭文件
[Linker error] undefined reference to `WSAStartup@8' [Linker error] undefined reference to `htons@4' [Linker error] undefined reference to `inet_pton' [Linker error] undefined reference to `socket@12'
#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;}
我只是在Internet上的示例套接字程序中找到了這些頭文件,但我不知道我是否真的需要所有這些頭文件,以及我是否應該使用winsock.h或winsock2.h。 我還了解到,要解決這些鏈接器問題,我需要將庫鏈接到程序,這是我現在的主要問題。 如何鏈接WindowsXP中的庫並使DevC ++中的程序正常工作? 順便說一下,我正在使用C編程語言。 請幫我解決這個問題。
嘗試-。菜單-項目-項目選項-參數-鏈接器,單擊[添加庫或對象]按鈕,然后添加“您的Dev-Cpp目錄” /lib/libws2_32.a
您必須添加WSAStartup
htons
inet_pton
socket
函數庫進行鏈接。
一些帶有.a
文件。
按ctrl + h
> Parameters
-> Add library or object
瀏覽一些類似C:\\Program Files\\CodeBlocks\\MinGW\\lib
然后找到您的對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.