我正在 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 头文件路径添加到我的 makefile 中,这两种方法看起来都有些骇人听闻。
必须有一个更简单的选择,对吧?