Makefile时的一有关制表符【tab】小问题

    之前自己照着网上的模板简单编辑了vim的配置文件——位于家目录下的.vimrc,如下:

Code:
  1. 1 "   
  2.   2 set hlsearch "high light search on   
  3.   3 set backspace=2 "delete any character in the file   
  4.   4 set autoindent "auto indent on   
  5.   5 set ruler "    
  6.   6 set showmode "show which edit mode are you in   
  7.   7 set nu "set number   
  8.   8 set bg=dark "background color   
  9.   9 syntax on "    
  10.  10 set laststatus=2   
  11.  11 set autoindent   
  12.  12 set shiftwidth=4 "set the size of autoindent is 4   
  13.  13 set softtabstop=4 "enter one tab, then 4 blank show   
  14.  14 "set tabstop=4   
  15.  15 set expandtab "vim uses the rational blanks to pad the tab  

    结果在make的时候却出现如下的提示:

Code:
  1. makefile:4: *** missing separator.  Stop.  

   
----------------------------------------------------------------------------------------------------------------
    我是一直觉得是我的配置文件有问题的,因为之前都没有出现过这种情况!网上搜罗了良久,总算找到了解决的方法。如下对问题的解决过程作个简单的记录

    问题的原因在这里 有详细的解释,这里 有。大致是因为make在读取Makefile的过程中不能解析其中包含的内容。 GNU make在读取Makefile时根据各种分隔符(:, =, [TAB]字符等)来识别Makefile的每一行内容。如上错误意味着make不能发现一个合法的分隔符。出现这些错误信息的可能原因(或许是编辑器,绝大部分是ms-windows的编辑器)在Makefile中的命令之前使用了4个(或者8个)空格代替了[tab]字符。因为makefile中所有的命令行都应该是以[tab]字符开始的。 

    我在写Makefile文件的时候明明是已经用上了[tab]的,为了验证下便用od命令查看我的Makefile文件如下:  

Code:
  1. lianbequat@ubuntu:/home/advances/pthread/condition_var$ od -t c makefile    
  2. 0000000   c   c   =   g   c   c  /n  /n   c   o   n   d   1   :   c   o   
  3. 0000020   n   d   1   .   c  /n                   $   (   c   c   )       
  4. 0000040   $   ^       -   o       $   @  /n   
  5. 0000051  

    发现我键入的[tab]制表符已经被编辑器自动替换成了4个空格!在这里 找到了解决这个问题的答案,即通过在 vim编辑模式下组合“ ctrl + v + i ”来写入一个 tab键。重新make下,运行正确。再次以ASCII码的格式查看我的Makefile文件发现原先的4个空格已被 “ /t ”取代,如下:

Code:
  1. lianbequat@ubuntu:/home/advances/pthread/condition_var$ od -t c makefile   
  2. 0000000   c   c   =   g   c   c  /n  /n   c   o   n   d   1   :   c   o   
  3. 0000020   n   d   1   .   c  /n  /t   $   (   c   c   )       $   ^       
  4. 0000040   -   p   t   h   r   e   a   d       -   o       $   @  /n   
  5. 0000057   

---------------------------------------------------------------------------------------------------------------- 

    注:如上通过组合键“ctrl + v + i”插入一个[tab]键的方法效率很低,另外一种一劳永逸的做法便是注释掉.vimrc配置文件中的最后一行,一看就知道是怎么回事儿啦! ^_^

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值