忍者ブログ

【備忘録】Recipe for target 'post-build' failedが解決できなかった話

2018年09月10日
SW4STM32を使っていてRecipe for target 'post-build' failedという問題に立ちあたって結局解決できなかったが、備忘録として残しておく。
結論としてはプロジェクトを新しく作り直し、ソースコードを手で移植することで対処した。

【環境】
SW4STM32(v1.14)
STM32F405RG

【発端】
これまで問題なくビルドできていたプロジェクトが突然以下のエラーでビルドできなくなる。
・gcc not found in path
・g++ not found in path

【やったこと】
覚えてる範囲で書いておく。

これまで開発してきたプロジェクトに対して
・Gitで過去の状態に戻す(プロジェクト構成等も含む)⇒変わらずgcc,g++がないと言われる。
・gcc,g++のディレクトリを確認。⇒Cygwinのgcc,g++があるディレクトリにパスが通っている。
・Cygwinをインストールしなおす。⇒変わらずgcc,g++がないと言われる。

別のPCにSW4STM32をインストールして、Gitから問題のプロジェクトを持ってきて検証。
その際、gcc,g++はMinGWとCygwinを試した。
⇒エラー内容が変わる。タイトルのRecipe for target 'post-build' failed。gcc,g++は見つけたらしい。

Recipe for target 'post-build' failedを解決するために
・ネットでググると、Recipe for target 'main.o' failedがMake.exeを更新したら直ったという人がいたので真似。⇒変化なし。
・Gitで過去のVerにさかのぼって実行⇒変化なし。
・ProjectのPropertiesからC/C++BuildのGenerate Makefiles automaticallyのチェックを外す⇒エラーが出ない。

【結局どうした】
Twitterで弱音を吐いたらWMMCの優しい人が、Wikiを紹介してくれたので、新しくプロジェクトを作り直した。
ただし、リンク先の
4.「Board」タブが選択されているので,左上の「Mcu」と書いてあるところをクリックして「Mcu」タブに切り替える。
に関して、私がやったときは上部にタブがなく、Boardしか選べなかった。(SW4STM32は昔入れた奴だからVerが古いのかも。)
幸い、使おうとしたSTM32F405RGはBoardとして選べたので事なきをえた。

後は、
C++のStdLib使うためにProject>Properties>C/C++Build>SettingからTool Setting>MCU G++ CompilerのDialectのからISO C++1yを選んだり、
motファイルを生成するように設定を変えたり
したら書き込めるようになって、今のところ動いている。

PR
Comment
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字