如何使用#includes强制Visual Studio预处理器区分大小写?

Nic*_*win 11 c++ include visual-studio c-preprocessor

如果您有一个名为ThisIsAHeaderFile.h的头文件,则以下内容仍将在Visual Studio中找到该文件:

#include <ThisIsAheaderFile.h>
Run Code Online (Sandbox Code Playgroud)

有没有办法强制区分大小写,以便#include导致错误?

Ric*_*dle 14

你不能,因为Windows文件系统本身不区分大小写.

如果你可能遇到同时拥有RICHIE.h和richie.h的情况,那么控制区分大小写可能是有意义的,但你不能.

  • @RichieHindle,和Chris Lively,你们都错过了WolfmanDragon的观点.我经常遇到这种情况.我们的Windows开发团队使用visual studio,并且由于不正确的大写标题而破坏了linux构建.如果有一种方法可以使cl.exe对包含区分大小写,那么可以消除许多不必要的循环. (7认同)
  • 实际上,这不太对.NTFS保留文件名作为POSIX合规性的一部分,但在执行文件操作时将所有内容映射到大写.http://blogs.msdn.com/michkap/archive/2005/01/16/353873.aspx (6认同)