web-dev-qa-db-ja.com

Qmakeはソースディレクトリの下のビルドディレクトリをサポートしていません

OS-Xでチャームのようにコンパイルして実行するアプリケーションを作成しました。それでは、Windowsで動作させたいと思います。まず、プロジェクトをWindowsマシンにコピーしてコンパイルしようとしましたが、次のエラーが発生しました。

::警告:Qmakeはソースディレクトリの下のビルドディレクトリをサポートしていません。

何か案は?

19
Jay

あるマシンから別のマシンに、またはあるディレクトリから別のディレクトリにプロジェクトをコピーする場合は、project.pro.userファイルをコピーしないでください。プロジェクトを開くと、QtCreatorは適切な場所に新しいビルドディレクトリを作成することを提案します。

13
TJM

シャドウビルドディレクトリを、プロジェクトディレクトリと同じレベルのフォルダに設定します。

folder/
  project/
  project-shadow-build-release/
  project-shadow-build-debug/

これは、左側のツールバーの[プロジェクト]ビューで実行できます。私にとって、この警告は単なる煩わしさであり、それが原因でプロジェクトのビルドに失敗することはありませんでした。

16
andref

Andrefはこの警告を解決するために正しい答えを出しましたが、この要件が存在する理由を理解したい場合があります。

実際、ビルドディレクトリ必須はプロジェクトと同じフォルダレベルにある必要があります(つまり、上または下に置くことはできません)。その理由は、リンカーがビルドディレクトリから呼び出されるためです。したがって、ライブラリファイルへの相対パスは、プロジェクトファイルに入力したものとは異なります。

それはちょっとひどいです。私はすべての中間ファイルをそれぞれのフォルダーに入れるのが好きです。しかし、qmakeでは単純にできません。

7
Inverse

.pro.userは、QtCreatorによって生成されたファイルです。それらはqmakeとは無関係であり、触れてはいけません(さらに、VCSに入れてはいけません)。

2
gre

拡張子がpro.userのファイルを削除するだけでうまくいきました

1
  1. プロジェクトを右クリックします:アクティブなプロジェクトとして設定
  2. プロジェクトボタン(スパナ画像のあるもの)をクリックします
  3. ビルド構成の編集:デバッグ/プロファイル/リリース/デフォルトのディレクトリを変更します[〜#〜]または[〜#〜]チェックを外すだけですシャドウビルドチェックボックス。

    • ビルドディレクトリパスがからに変更されます。
0
Program-Me-Rev

私もこれを手に入れ、Linuxで作成されたプロジェクトをコンパイルしようとしました。

これを解決する別の方法は、。pro.userファイル(プロジェクトのディレクトリ内)のパスを変更することです。

0
Giova