我在Ubuntu上使用g++和一个C++库,它的头文件恰好都以.h结尾,而不是传统的.H。
我不想修改include目录...否则,我可能只会创建指向.h版本的头文件的符号链接。
我想知道是否有一种简单的方法可以让g++自动识别.H和.h文件是相同的,这样我就可以在我的程序中编写header.h或header.H。我看过g++的手册页,但我很难判断它是否支持这样的特性。
发布于 2009-06-04 15:55:38
.H是C++头文件与C头文件(也称为.hpp或.hxx)不同的一种命名方式。这只适用于区分大小写的操作系统。
如果文件包含.H,则只需使用#include <file.H>
发布于 2009-06-04 15:52:31
问题源于文件系统。您的文件系统是区分大小写的,因此可以看到header.H和header.h之间的差异。这不是g++问题。在不区分大小写的文件系统/OS上运行时,您不会看到这个问题,就像在win32系统上运行g++时一样。
发布于 2009-06-04 15:52:27
我认为这是Linux文件系统的实现细节。在Windows上,.h和.H文件实际上是相同的,而在Linux上,你可以在同一个目录中有一个传统性的.h和一个传统性的.h。
如果我没理解错的话,您只需要在包含头文件的文件中指定大写H即可。
https://stackoverflow.com/questions/951403
复制相似问题