0

WinSock.hヘッダーファイルを使用しようとしていますが、次のいずれかのエラーが発生します。VS2010(C ++)の場合:

Unresolved External Symbol to [the function included in winsock.g, e.g socket()]

gccコマンドライン(C):

Undefined Reference to [the function included in winsock.g, e.g socket()]

コードは単純です。Winsock.hヘッダーファイルをインクルードしてから

SOCKET s =  socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);

socket()&関数でエラーが発生しclosesocket()ます...!Stackoverflowで検索したところ、これに関するいくつかのトピックが見つかりましたが、それらはすべてヘッダーファイルの変更を示唆していました。ここではWinSock.hを変更できないため、ヘッダーファイルを使用する実際のコードの解決策が必要です。何か案は?

4

2 に答える 2

5

ドキュメントによると、必要ws2_32.libです。

[プロジェクト] -> [プロパティ] -> [リンカー] -> [追加の依存関係] に移動し、ws2_32.lib.

編集:

それは Project->Properties->Linker->Input->Additional Dependencies である必要があります

于 2012-01-17T19:56:45.580 に答える
0

これらはリンカー エラーであり、コンパイラ エラーではありません。WinSock ライブラリをリンクする必要があります。gcc の場合、リンク コマンド ラインにライブラリを追加することを意味します。

gcc -Lpath/to/winsock/library -o myApplication myObject.o wsock32.lib

Visual Studio については何も知りませんが、このリンクが役立つかもしれません。

于 2012-01-17T18:47:13.343 に答える