- ベストアンサー
使っているMicrosoft Visual C++ 2008 Express Editionで”winsock2.h”が使えるかの確認方法
今、Microsoft Visual C++ 2008 Express Editionでエコーサーバプログラムを作っているのですが、プログラムにwinsock2.hを含んでいて、このインクルードファイルが使用できるかどうか知りたいのですが、調べる方法はありますでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
プロジェクトのプロパティ>こうせいぷロパティ>リンカ>入力>追加の依存ファイルに ws2_32.lib を追加してないのでわ?
その他の回答 (2)
- Wr5
- ベストアンサー率53% (2173/4061)
>エラーが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も必要。ということになります。
お礼
回答頂きありがとうございました。 おっしゃっていた通り、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)
普通にインストールしていれば、WindowsSDKも一緒に入っているかと思われます。 ということで、使えるハズですが……。 # 実際にincludeしてみて、ビルドしてみれば…ファイルが見つからなければエラーになるでしょう。 なお、winsock2.hがインクルード可能なのと、そこで宣言されているAPIを使いこなせるかは別問題ですので念のため。
お礼
回答頂きありがとうございます。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 スキップ ==========
補足
すみませんお礼の補足をさせていただきます。 エラーが14出ていてだいたいが”外部シンボル”とか”未解決”とかのエラーが出てくるのですが、これはどのような原因にあたるのでしょうか?
お礼
回答頂きありがとうございました。 おっしゃっていた通り、ws2_32.libが追加されていないことを確認しました。このファイルを追加してこの問題が解決し、コンパイルできました。 ”http://sourceforge.jp/projects/midicv/svn/view/trunk/TCP_IP%E9%96%A2%E9%80%A3/SocketSample/?root=midicv” このサイトから現在作成しているTCP/IPマルチクライアントサーバのプログラムがダウンロードできるようになっていますので、お暇でしたらどうぞ。