retireSakiの日記

たぶん引退した?ソフトウエアエンジニアのブログ

Qt でコンパイル時に 'ignoring old recipe for target' と警告が出た時の対処方法

 Qtのプロジェクトをコンパイルしていると突然...
"Makefile:nnn: 警告: ignoring old recipe for target 'xxx.h'"
のような警告が表示されるようになることが多々あります。

 

 それは、クラスやフォームなどの追加や削除を繰り返すと、.proファイル内のコンパイル対象が2重に定義されている場合があるためです。
Qt側が勝手にやっていることなので、手作業で修正する必要があります。

例えば、

 FORMS += \
  mainwindow.ui \
  aboutdialog.ui \
  aboutdialog.ui \

となっていたら

 FORMS += \
  mainwindow.ui \
  aboutdialog.ui \

と修正すれば良いだけです。

 なんとなく無くですが...
クラス等の削除の際に、以前に追加されたコンパイル対象のファイルと新しく追加したコンパイル対象のファイル名が同じである時に発生します。

追加、削除の処理に問題があるのだと思っています。

「Qt Quick」アプリケーション開発 (I・O BOOKS)

「Qt Quick」アプリケーション開発 (I・O BOOKS)

 
24時間集中講座 Qtプログラミング

24時間集中講座 Qtプログラミング

  • 作者: ダニエルソーリン,Daniel Solin,アットコム
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2001/05
  • メディア: 単行本
  • 購入: 1人 クリック: 9回
  • この商品を含むブログ (2件) を見る
 

 

注目記事

「Amazon.co.jpアソシエイト」または「[乙の名称を挿入]は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。