私のプログラムを32ビットでコンパイルするとき
gcc -m32 program.c -o program
次の致命的なエラーが表示されます: sys/socket.h: No such file or directory
しかし、
gcc program.c -o program
それは正常に動作します
これに対する回避策はありますか?
私の個人的な同様の問題は次のように解決されました。ちなみに私はcygwinを使用しています。このエラーの背後にある理由は、ウィンドウ環境で unix c ソケットの例をコンパイルしようとしたことです。Windows を使用する場合は、C プログラムのコンパイルに必要なすべてのライブラリと共に cygwin をインストールする必要があると思います。「gcc は、生成された Your_program_in_exe に使用されるものです」。次に、サーバーをコンパイルすることから始めます。このチュートリアルに従って、ソケットの基本について理解してください。クライアント プログラムとサーバー プログラムが必要です。次に、(cd コマンドを使用して) コードを保存したディレクトリに移動し、次のコマンドを実行します。
1- gcc socket-Server.c -o serverを実行して、サーバーの実行ファイルを生成します。これにより、. /server.exeを使用して PC でサーバーを実行できるserver.exeファイルが生成されます。ファイルにエラーがない場合は、ディレクトリに .exe ファイルが必要です。
2- gcc socket-client.c -o client クライアント用の実行ファイルを生成します。これにより、クライアントを実行できるclient.exeファイルが生成されます。エラーがなければ、ファイル ディレクトリにserver.exeと一緒にclient.exeが必要です。以下のスクリーン キャプチャは、使用したコマンドと基本的な出力を示しています。