1. ホーム
  2. リナックスプログラミング

Makefile:2: *** セパレータがありません。

2022-02-08 05:08:54

簡単なソースファイルとmakefileを書き、makeコマンドを実行したところ、makefile:2というエラーが発生しました。*** missing separator. 半日近く探して、ようやく問題を発見しましたので、トラブルシューティングのためにできることをまとめます。

1. makefileのフォーマットを確認し、makefileファイルをエディタで開き、コマンドフォーマットで:set ffと入力すると

ファイルのエンコード形式を表示するには、:set fileencoding と入力すると、次のような画面が表示されます。

上記のような形式でポップアップするのであれば、このファイル形式とエンコード形式は問題ありません。

2. makefileのコマンドラインがスペースバーではなく、コマンドラインの前にタブキーでインデントされているかどうかを確認する。コマンドラインがタブキーでインデントされている場合、コマンドラインに色が付きます。vim ~/.vimrc にタブキーに関する設定を追加し、.vimrc の下に以下の4行のコマンドを追加してください。 

set tabstop=4 //タブキーが占有する列の数

set sw=4 //自動インデント(インデントサイズ:4スペース

set noexpandtab //Automatically convert tabs to spaces when typing it's in space

autoindent //Auto-zoom after carriage returnを設定する。

makefileのファイル規則では、コマンドラインの前にタブキーを置く必要があるため、.vimrcでタブをスペースに自動変換しないように設定する必要があります。