1

複雑なmakefileで「makeall」を実行しようとすると、次のエラーが発生します。

C:\BITCLOUD\BitCloud_PS_SAM3S_EK_1_10_0\BitCloud_PS_SAM3S_EK_1_10_0\Applications\ZAppSi\Dem o\SEDevice>make all 
make -C makefiles/PC -f Makefile_PC_Gcc all APP_NAME=DemoSE
make[1]: Entering directory
'C:/BITCLOUD/BitCloud_PS_SAM3S_EK_1_10_0/BitCloud_PS_SAM3S_EK_1_10_0/Applications/ZAppSi/Demo/SEDevice/makefiles/PC'
A sintaxe do comando está incorrecta.
make[1]: *** [directories] Error 1
make[1]: Leaving directory
'C:/BITCLOUD/BitCloud_PS_SAM3S_EK_1_10_0/BitCloud_PS_SAM3S_EK_1_10_0/Applications/ZAppSi/Demo/SEDevice/makefiles/PC'
make: *** [all] Error 2

ここで、行

A sintaxe do comando está incorrecta.  

英語に翻訳すると、「コマンドの構文が正しくありません」という意味になります。

プロジェクトを別のディレクトリに変更し、ファイル名のスペースをチェックし、GNU makeを使用し、MinGW make(mingw32-make)も使用しようとしましたが、結果は両方の「make」で同じです。また、makefileに含まれているすべてのファイルをチェックし、それらが対応しています。

私はmakefileの専門家ではないので、助けを求めています。makeがこのタイプのエラーをスローするときに発生する主な問題は何ですか?

4

1 に答える 1

1

がこのエラーをスローする可能性は低いですmakeが、make によって実行されたコマンドはゼロ以外の終了ステータスを返します。この場合はステータス 1 (エラー 1 による) です。その後、最上位makeはエラー 2 で停止しmakeます。デフォルトでは、コマンドが失敗するとすぐに停止することに注意してください。出力には実行されたコマンドが表示されないため、正確に何が問題なのかを知る方法はありません。

編集: GNU make マニュアルから:

   -d   Print debugging information in addition  to  normal  processing.
        The  debugging information says which files are being considered
        for remaking, which file-times are being compared and with  what
        results,  which files actually need to be remade, which implicit
        rules are considered and which are  applied---everything  inter‐
        esting about how make decides what to do.

   --debug[=FLAGS]
        Print  debugging  information  in addition to normal processing.
        If the FLAGS are omitted, then the behavior is the same as if -d
        was specified.  FLAGS may be a for all debugging output (same as
        using -d), b for basic  debugging,  v  for  more  verbose  basic
        debugging,  i for showing implicit rules, j for details on invo‐
        cation of commands, and m for  debugging  while  remaking  make‐
        files.

コマンドを表示するには、実行することをお勧めしmake --debug=jます。

于 2013-03-07T15:56:40.380 に答える