2015-12-17 67 views
1

我有包含C++代码的文件和文件夹的层次结构。 他们经常互相包含,如:gcc编译器错误消息路径取消父项

#include "../../Foder1/Lib4/file12.hpp" 

当我编译的代码,在错误的情况下,我看到这样的消息:

Foder2/Lib7/../../Foder1/Lib4/file12.hpp:71:4: error <something> 

虽然我更愿意看到..站立父目录在gcc错误消息抵消:

Foder1/Lib4/file12.hpp:71:4: error <something> 

任何选项调用gcc

+0

在哪个文件夹是你的Makefile? – Glapa

+0

@Glapa makefile位于项目的根文件夹中。此路径是相对路径 – ar2015

回答

1

如果您将-I [Folder...'s base dir]添加到您的gcc调用中,您可以包含#include "Foder1/Lib4/file12.hpp"的文件,然后应该更好地格式化消息。

+0

建议将'<>'改为'“”'。阅读更多关于为什么:http://stackoverflow.com/questions/21593/what-is-the-difference-between-include-filename-and-include-filename – user4581301

+0

感谢您的提示!编辑。 – Glapa

+0

但是...我们知道这个文件不在同一个目录下,所以''“'有什么意义? '<>'告诉我们这个文件是从“外部路径定义”包含的。 – Glapa