在 Cygwin 下编译 LLVM 3.3 时,g++ 找不到适当的头文件,尽管它们肯定存在。
$ make --trace
g++ -I/cygdrive/c/llvm-3.3.src/include -I/cygdrive/c/llvm-3.3.src/lib/Support -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -O3 -fomit-frame-pointer -fvisibility-inlines-hidden -fno-exceptions -fno-rtti -Woverloaded-virtual -Wcast-qual -Wall -W -Wno-unused-parameter -Wwrite-strings -c -MMD -MP -MF "/cygdrive/c/llvm-3.3.src/lib/Support/Release+Asserts/APFloat.d.tmp" -MT "/cygdrive/c/llvm-3.3.src/lib/Support/Release+Asserts/APFloat.o" -MT "/cygdrive/c/llvm-3.3.src/lib/Support/Release+Asserts/APFloat.d" APFloat.cpp -o /cygdrive/c/llvm-3.3.src/lib/Support/Release+Asserts/APFloat.o
fatal error: 'llvm/ADT/APFloat.h' file not found
可能是什么问题呢?
答案1
您可能正在从 MinGW 安装中运行 g++。使用 检查它是否在 PATH 中which g++
。
答案2
对于 Mingw gcc,您不能在 -I 中使用 cygdrive。需要使用 -IC:/llvm-3.3.src/include。