• ベストアンサー

使っているMicrosoft Visual C++ 2008 Express Editionで”winsock2.h”が使えるかの確認方法

今、Microsoft Visual C++ 2008 Express Editionでエコーサーバプログラムを作っているのですが、プログラムにwinsock2.hを含んでいて、このインクルードファイルが使用できるかどうか知りたいのですが、調べる方法はありますでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • reset_cat
  • ベストアンサー率68% (94/138)
回答No.2

プロジェクトのプロパティ>こうせいぷロパティ>リンカ>入力>追加の依存ファイルに ws2_32.lib を追加してないのでわ?

techhouse
質問者

お礼

回答頂きありがとうございました。 おっしゃっていた通り、ws2_32.libが追加されていないことを確認しました。このファイルを追加してこの問題が解決し、コンパイルできました。 ”http://sourceforge.jp/projects/midicv/svn/view/trunk/TCP_IP%E9%96%A2%E9%80%A3/SocketSample/?root=midicv” このサイトから現在作成しているTCP/IPマルチクライアントサーバのプログラムがダウンロードできるようになっていますので、お暇でしたらどうぞ。

その他の回答 (2)

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.3

>エラーが14出ていてだいたいが”外部シンボル”とか”未解決”とかのエラーが出てくるのですが、これはどのような原因にあたるのでしょうか? リンクしようとした時にライブラリが不足していたり、 関数名を間違えて記述していたりすると出てきます。 今回の場合はNo.2の型が回答しているとおり、追加のライブラリ指定が足りないのでしょう。 http://msdn.microsoft.com/en-us/library/ms742213%28VS.85%29.aspx の下の方に、 >Header Winsock2.h >Library Ws2_32.lib と記述してあります。 リンク時にWs2_32.libも必要。ということになります。

techhouse
質問者

お礼

回答頂きありがとうございました。 おっしゃっていた通り、ws2_32.libが追加されていないことを確認しました。このファイルを追加してこの問題が解決し、コンパイルできました。 ”http://sourceforge.jp/projects/midicv/svn/view/trunk/TCP_IP%E9%96%A2%E9%80%A3/SocketSample/?root=midicv” このサイトから現在作成しているTCP/IPマルチクライアントサーバのプログラムがダウンロードできるようになっていますので、お暇でしたらどうぞ。

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

普通にインストールしていれば、WindowsSDKも一緒に入っているかと思われます。 ということで、使えるハズですが……。 # 実際にincludeしてみて、ビルドしてみれば…ファイルが見つからなければエラーになるでしょう。 なお、winsock2.hがインクルード可能なのと、そこで宣言されているAPIを使いこなせるかは別問題ですので念のため。

techhouse
質問者

お礼

回答頂きありがとうございます。winsock2.hは普通に使えるようですね。現在ビルドをすると下のようなエラー文が出てくるのですが、これはどのような 1>ClientSock.obj : error LNK2001: 外部シンボル ""extern "C" int __stdcall WSAStartup(unsigned short,struct WSAData *)" (?WSAStartup@@$$J18YGHGPAUWSAData@@@Z)" は未解決です。 1>ClientSock.obj : error LNK2001: 外部シンボル ""extern "C" unsigned int __stdcall socket(int,int,int)" (?socket@@$$J212YGIHHH@Z)" は未解決です。 (中略) 1>C:\mywork\midicv\trunk\TCP_IP関連\SocketSample\Release\ClientSock.exe : fatal error LNK1120: 外部参照 13 が未解決です。 1>ビルドログは "file://c:\mywork\midicv\trunk\TCP_IP関連\SocketSample\ClientSock\Release\BuildLog.htm" に保存されました。 1>ClientSock - エラー 14、警告 0 ========== ビルド: 0 正常終了、1 失敗、3 更新不要、0 スキップ ==========

techhouse
質問者

補足

すみませんお礼の補足をさせていただきます。 エラーが14出ていてだいたいが”外部シンボル”とか”未解決”とかのエラーが出てくるのですが、これはどのような原因にあたるのでしょうか?

関連するQ&A