2017-08-15 6 views
0

ウィンドウの下でcygwinとソケットを扱うときに問題が発生しました。 コードはUbuntuで正常に動作していますが、WSAStartup呼び出しが行われなかったため、Windowsで実行しているときにソケットが開かれません(エラー10093)。しかし、WSAStartupのためにwinsock.hをインクルードすると、winsockとunistdの矛盾する宣言であるint select(int, _types_fd_set*, _types_fd_set*, _types_fd_set*, PTIMEVAL)のためにコンパイルできません。cygwinを使ったウィンドウ内のソケット

しかし、誰もがソケットをcygwinで走らせる方法を知っていますか?

おかげ定義で

+0

おそらく 'boost :: asio'に固執してください。 – user0042

+1

回避策として、 'uninsd.h'ではなく' winsock.h'を含む別々のファイルを作成し、そこにwinsock初期化を実行することができます。しかし、それはどんなに初心者でもうまくいくはずです。 – arrowd

+0

私は後でアンドロイド上で実行したいので、私はブーストを取ることを好むだろうと私はブーストはAndroidで最高ではなかった...別ファイルを作成するOkeyは動作することができるが、最も美しい解決策ではない – mstranne

答えて

0

ウィンドウのlibsとしませ台無しcygwinのは、すべてが正常に動作しています!私はWindowsのlibを含んでいないので、UNIXソケットは正常に動作します。

ありがとうございますuser4581301。

-1

プット_winsock_deprecated_no_warningsとの#include < winsock2.h>

+0

は動作していません... – mstranne

+0

#defineをプリプロセッサの定義に入れましたか?コードに入力するだけですか? – Ryan

関連する問題