Windows XP に Cygwin をインストールして C++ プログラムを開発しています。
Cygwinに付属しているものではなく、g ++のバージョンを使用したいので、MinGWもインストールしています。
その部分は正しく設定されているようです。Cygwin セッションを開始すると、次のように表示されます。
$ which g++
/cygdrive/c/MinGW/bin/g++
これは正しいです。g++ は私の MinGW インストールを指しています。
私が理解できないのは、ライブラリ コード (たとえば、Winsock/BerkleySockets API のヘッダー ファイル) を含むコードを作成するとき、コンパイラがそのヘッダー ファイルを見つけた場所をどのように確認できるかということです。
たとえば#include "winsock.h"
、コード内にある場合、コンパイラはそのヘッダー ファイルをどこで見つけますか?
コンピューターで winsock.h を一般的に検索すると、次のようになります。
C:\MinGW\include
C:\cygwin\usr\include\w32api
どちらにも winsock.h のコピーがあります (ただし、これらのファイル サイズは完全に同じではないため、同一にすることはできません)。
助けてくれてありがとう。
また、Windows PATH 環境変数に があり、 Cygwin 内C:\MinGW\bin
で同じパスが構成されていることも指摘しておく必要があります。/etc/profile file