MinGW的默认包含路径
MinGW 为什么 不在这些目录中搜索可能很有用。
首先,在本机MS-Windows主机上,这些目录通常不存在。文件系统的多根性质意味着此类路径名将是不明确的。
其次,由于MinGW本身不是一套MSYS应用程序,即使在MSYS环境中创建了此类目录,MinGW也无法找到它们。
因此,为了避免对用户如何安装MinGW施加严格的限制,维护者选择采用受限的搜索范式,该范式是根据MinGW本身的安装位置确定的。对于MinGW的任何特定安装,可以使用“ -v”选项通过运行编译器本身来确定实际的搜索路径。通常,对于在c:/ mingw中安装GCC-3.4.5 :-
3.4.5为版本号
$ touch foo.c bar.cpp
$ gcc -v -c foo.c
:
#include“ …”搜索从此处开始:
c:/ mingw / bin /../ lib / gcc / mingw32 / 3.4.5 /../../../../ include
#include <…>搜索从此处开始:
c:/ mingw / bin /../ lib / gcc / mingw32 / 3.4.5 / include
搜索列表末尾:
$ g ++ -v -c bar.cpp
#include“ …”搜索从此处开始:
c:/ mingw / bin /../ lib / gcc / mingw32 / 3.4.5 /../../../../ include / c ++ / 3.4.5
c:/ mingw / bin /../ lib / gcc / mingw32 / 3.4.5 /../../../../ include / c ++ / 3.4.5 / mingw32
#include <…>搜索从此处开始:
c:/ mingw / bin /../ lib / gcc / mingw32 / 3.4.5 /../../../../ include / c ++ / 3.4.5 / backward
c:/ mingw / bin /../ lib / gcc / mingw32 / 3.4.5 /../../../../ include
c:/ mingw / bin /../ lib / gcc / mingw32 / 3.4.5 / include
搜索列表末尾。
编译器显示的原始格式输出可能很难为人类读者解释。因此,将其简化为规范的路径形式可能会有所帮助:
$ gcc -v -c foo.c 2>&1 | sed':1; s,/ [^ /。] [^ /] * / \。\ ./,/ ,; t 1'
#include“ ...”搜索从此处开始: c:/ mingw / include
#include <...>搜索从此处开始: c:/mingw/lib/gcc/mingw32/3.4.5/include
搜索列表末尾。
$ g ++ -v -c bar.cpp 2>&1 | sed':1; s,/ [^ /。] [^ /] * / \。\ ./,/ ,; t 1'
#include“ ...”搜索从此处开始:
c:/ mingw / include / c ++ / 3.4.5
c:/ mingw / include / c ++ / 3.4.5 / mingw32
c:/ mingw / include / c ++ / 3.4.5 / backward
c:/ mingw / include
#include <...>搜索从此处开始:
c:/mingw/lib/gcc/mingw32/3.4.5/include
搜索列表末尾。