1

提供されたサンプルの c ファイルをコンパイルしようとしていますが、残念ながら、インクルード ファイルの一部が見つからないため、いくつかのライブラリが不足しています。具体的には、stropts.h、netdb.h、sys/socket.h、sys/ioctl.h、netinet/in.h、pthread.h、および unistd.h です。

これらの問題をどこで修正できるかを調査しましたが、驚くべきことに、この問題に関する結果はほとんどまたはまったくありませんでした. これらのライブラリが見つかるまで、Visual Studio コマンド プロンプトはそれをコンパイルできません。これを修正するためにダウンロード/リンクする必要があるものはありますか?

4

1 に答える 1

4

これらのヘッダー ファイルは、標準の C または C++ の一部ではありません。他のソースからヘッダーをダウンロードしようとしないでください。それらをコンパイルできたとしても、静的ライブラリまたはDLLで宣言された関数の実装がないため、適切にリンクされません。

問題の単純な事実は、コンパイルしようとしているコードが Unix/Unix 系システム用に書かれており、Windows に移植できないということです。同等の Windows 機能またはサードパーティのプラットフォームに依存しないライブラリ (ソケット用の Winsock または Boost ソケットなど) を使用するには、コードを大幅に書き直して、Unix システムでコンパイルする必要があります (たい)、または Cygwin などの Unix 互換レイヤーを使用します。

于 2012-08-13T18:20:16.133 に答える