我在具有多架构构建的项目中使用 GCC 预编译头文件,但是当我尝试将其放置在与当前源目录不同的目录中时,事情就崩溃了。
该文件包含在双引号中,如果我将其更改为尖括号,它可以工作,但问题是我有很多其他项目使用相同的预编译头名称,因此将它们全部更改为尖括号是不可取的因为它可能会在相同文件的 Visual Studio 构建中包含哪个标头产生歧义。
GCC 在其搜索路径之前搜索当前目录中的双引号包含。我可以使用-I-
选项(例如-Ipch_dir.i686 -I-
)解决它,以便在当前目录之前搜索预编译的头文件目录,但不推荐使用此选项。GCC 建议我使用-iquote
,但它的效果与-I-
.
所以问题是如何在不将所有预编译的头文件包含指令更改为尖括号并使用不推荐使用的 GCC 开关的情况下使其工作?