0

这让我发疯,这是我的文字复制粘贴代码,Gedit 使用 8 的制表符宽度。它仍然抱怨缺少分隔符。我完全遵循了手动语法。我没有使用某种自动将制表符更改为空格的设置。

Tubes : TubesWithVaryingRadiusAndColors.cxx
    gcc -c TubesWithVaryingRadiusAndColors.cxx 

在上面的代码中,它似乎将选项卡更改为 4 个空格(我可以看到,通过尝试选择它,在输入窗口中它是一个字符,但如果你检查它,它将是 4 个空格)。

编辑:

如果我使用leafpad,它可以工作。Gedit 做错了什么?

十六进制转储是:

0000000 494c 4442 5249 3d20 2f20 7375 2f72 696c
0000010 2f62 7476 2d6b 2e35 2f38 540a 6275 7365
0000020 3a20 5420 6275 7365 6957 6874 6156 7972
0000030 6e69 5267 6461 7569 4173 646e 6f43 6f6c
0000040 7372 632e 7878 090a 6367 2063 632d 5420
0000050 6275 7365 6957 6874 6156 7972 6e69 5267
0000060 6461 7569 4173 646e 6f43 6f6c 7372 632e
0000070 7878 2d20 2049 7b24 494c 4442 5249 007d
000007f
4

2 回答 2

0

尝试hexdump在您的Makefile. 然后,您将绝对确定选项卡的实际编码方式。

于 2013-03-12T16:31:05.890 回答
0

打开您gedit的编辑器首选项,即Edit->Preferences->Editor取消选中Insert spaces instead of tabs

尝试在 中再次插入制表符Makefile,这一次它应该可以工作。

顺便说一句,8 个空格的制表符宽度不等于hard-tab. Gedit似乎自动替换制表符,8 spacesMakefile希望制表符出现在每个recipe规则的开头。

如果您使用的编辑器vim会自动插入硬标签以指定规则,您可以使用手动插入标签Ctrl-V-Tab

于 2013-03-12T16:41:59.890 回答