#line 指令的 nul.h 文件名的文件路径不正确
Incorrect file path for nul.h filename of #line directive
>问题
在msvs14
,使用filename
nul.h
结尾的#line
指令,例如:
#line 1 "nul.h"
将不正确的文件路径显示为神秘\.nul
而不是__FILE__/../nul.h
例
#pragma message(__FILE__)
#line 1 "../../nul.h"
die();
生产:
1> c:usersbeniodocumentsvisual studio 2015nodeutilslists.h 1>\.nul(1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
问题
- 为什么会这样?
- 这个神秘
\.nul
的来源是什么?
啊! 您已经被一个非常讨厌的向后兼容性所咬,该兼容性可以追溯到DOS 1.0左右。
有几个名称(NUL、CON和PRN是示例)是特殊的(NUL是空设备,CON是控制台,PRN是打印机)。 问题是这些神奇的名称早于目录并忽略文件扩展名 - 因此每当编译器尝试打开".ul.h"时,Windows 都会发现这一点,并说"啊哈! 您可能正在运行一个依赖于DOS向后兼容性的程序,并且您想打开空设备" - 因此编译器收到错误。
\.nul
是 NUL 设备的规范名称。
Tl;dr:您必须更改包含文件的名称。 改为"null.h"
称呼它。
相关文章:
- 从函数角度看ID到文件路径的内部与外部映射
- 在C++中设置基于操作系统的文件路径
- Windows 非 ASCII 文件路径
- 非 ASCII 文件路径窗口
- C++和带有国家符号的文件路径(也许用 UTF8 编码)
- 如何为文件路径使用变量?
- 包括 VS Code 上的完整文件路径
- 如何使用提升获取当前文件路径?
- 如何在 c++ 中获取当前文件路径?
- 保存json文件后如何返回文件路径
- 从 C++ 中的文件路径中提取文件名
- 是否可以将文件路径传递给Qt中的setStyleSheet()
- 无法转换 .CATPart 文件.错误:输入文件路径似乎包含不支持的字符
- 在结构函数之间传递文件路径 C++ 编辑:修复LNK2019错误
- 提供依赖于输入的程序的文件路径
- 从 QFileSystemModel 中的文件路径和文件名获取 QModelIndex
- 如何更改变量文件名的文件路径?
- cmake:包括vs vs add_subDirectory:相对标头文件路径
- 在OSX中使用CGDisplayStream存储屏幕记录的特定文件路径
- 如何在另一个系统上启用文件路径