Windows ネットワーク プログラミングの「__imp_WSASocketA」ソリューションへの未定義の参照

読む前にご覧ください:私は記録に熱心な人間で、ブログを書くたびに繰り返し勉強し、継続的にブログの品質を向上できるように努めます。ブログを書くのは本当に大変な作業だったので、この記事はファンのみに設定されています。お互いに向上していきたいと思いますのでよろしくお願いします!


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

1. 問題の説明

Windows でのネットワーク プログラミング、devc++、.cpp プログラムの実行時に次のエラーが報告されます。

undefined reference to `__imp_WSASocketA'

どの行がジャンプしないのか

2. 解決策

ステップ 1: 次のように、ヘッダー ファイルの末尾に行 #pragma comment (lib,"ws2_32.lib") を追加します。

#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
*/

最初のステップが失敗した場合は、2 番目のステップに進みます。

ツールオプションのコンパイルオプションに-lws2_32
ここに画像の説明を挿入
を追加

ここに画像の説明を挿入


コードワードは簡単ではありません。お褒めいただきありがとうございます。
コードワードは簡単ではありません。お褒めいただきありがとうございます。
コードワードは簡単ではありません。お褒めいただきありがとうございます。

おすすめ

転載: blog.csdn.net/qq_40967086/article/details/128492956