Referência indefinida de programação de rede do Windows para a solução `__imp_WSASocketA'

Por favor, dê uma olhada antes de ler: Eu sou uma pessoa que gosta de gravar. Cada vez que escrevo um blog, vou estudá-lo repetidamente e tentar o meu melhor para melhorar continuamente a qualidade do blog. O artigo está definido apenas para fãs, porque o blog realmente exigia muito esforço. Espero melhorar uns aos outros Obrigado! !


提示:以下是本篇文章正文内容

1. Descrição do problema

Programação de rede no Windows, devc++, o seguinte erro é relatado ao executar o programa .cpp:

undefined reference to `__imp_WSASocketA'

Qual linha não pula

2. Soluções

Passo 1: Adicione uma linha ao final do arquivo de cabeçalho: #pragma comment (lib,"ws2_32.lib"), conforme abaixo:

#include <string.h>
#include <stdio.h>
#include <winsock2.h>
#include <time.h>

#pragma comment (lib,"ws2_32")    //静态加入一个lib文件,也就是库文件ws2_32.lib文件,提供了对网络相关API的支持
/*
关于WSAStartup方法和WSACleanup方法引用出错的解决:
	错误:
	编译的时候出现 
	undefined reference to `__imp_WSASocketA'
	在一般编译器中不会直接连接编译wsock动态库,需要手动添加库
	首先可以尝试代码中直接引入动态库,#pragam comment(lib,"ws2_32.lib");
	如果不行再手动添加库
	在vc中,点项目(project-->project option)在makefile中输入-L"ws2_32" 
	在dvc C++中点击工具(Tool)-->编译选项(Compile Option)在编译命令框中输入 -lws2_32
*/

Se a primeira etapa falhar, prossiga para a segunda etapa:


insira a descrição da imagem aqui
Adicione -lws2_32 à opção de compilação nas opções da ferramenta

insira a descrição da imagem aqui


Palavras de código não são fáceis, obrigado por seus elogios! ! !
Palavras de código não são fáceis, obrigado por seus elogios! ! !
Palavras de código não são fáceis, obrigado por seus elogios! ! !

Acho que você gosta

Origin blog.csdn.net/qq_40967086/article/details/128492956
Recomendado
Clasificación