Error: Junk at EOL, first unrecognised character is '('

Error: Junk at EOL, first unrecognised character is '('

我正在尝试从源代码编译 Quake 1 (QW),但在编译 client/d_copy.s 时 运行 出现以下问题:Error: Junk at EOL, first unrecognised character is '('.

有问题的文件是here(请原谅语法高亮,pastebin 只支持NASM)。我正在尝试使用 GCC 进行编译(因为这是 GNU 汇编代码)并试图找出导致问题的原因。任何帮助将不胜感激。

汇编文件要运行 通过 C 预处理器,然后再发送到汇编器。这应该导致 C 宏被正确扩展,假设该宏是在 #include 行包含的其他文件之一中定义的。

要让 GCC 预处理程序集文件,您可以使用 -x assembler-with-cpp 选项或重命名文件,使其具有 .S(大写 S)或 .sx 扩展名。