Ubuntu系统C++编译错误: expected unqualified-id <U+0000><U+0005>
1. 问题
编译 C++ 项目时出现报错:
warning: null character ignored [-Wnull-character]
fatal error: expected unqualified-id <U+0000><U+0005>...
2. 原因
文件名是 ._Something.cpp —— 前面多了一个点和下划线。
这种文件是 macOS 自动生成的资源分叉文件(._ 开头),
在 Linux 上会被误认为是源码文件,于是编译器报错。
3. 解决方法
直接删除这些隐藏文件:
find . -name "._*" -delete
重新编译,一切恢复正常。
4. 总结
报错不是代码问题,而是不同系统之间多了幽灵文件。