Cygwin (32 ビット) で最新バージョンの clang++ (v3.1) および g++/gcc (v4.7.3) を実行しています。すべてがインストールされたデフォルト構成を使用しています。これは、Windows 8 での Cygwin の新規インストールです。
私の問題は、clang++ がインストールされた g++ STL ヘッダーを見つけてプロジェクトをコンパイルできないことです。
#include <stdlib.h>
#include <mutex>
#include <thread>
int main() {
std::mutex myMutext;
return 0;
}
このサンプル コードをコンパイルすると、このエラーが発生します。libc stdlib.h ヘッダーがエラーなしでコンパイルされることに注意してください。見つからないということです。テストとして他のSTLヘッダーを試しましたが、同じエラーです。
clang++ -c -o test.o test.cpp
test.cpp:2:10: fatal error: 'mutex' file not found
#include <mutex>
^
1 error generated.
いくつかの検索の後、提案されたオプションは、clang プロジェクト全体を再コンパイルし、そのソースにヘッダー パスを追加するか、すべての g++ STL ヘッダー パスをメイクファイルに手動で追加することであると思われます。
もっと簡単なオプションが必要ですよね?