40

C++ ライブラリ/フレームワークである Qt を使用してアプリケーションを開発しています。QT-Creator を使用すると、プロジェクトを問題なくコンパイルでき、ビルド ディレクトリは目的の実行可能ファイルを問題なく生成します。ただし、質問を自動化し、Apache ANT を使用しようとしています。しかし、私は次の問題に直面しています。

コマンドラインからの出力は次のとおりです。

build.mac.64:
     [echo] Building for Mac
     [echo] Updating destination path
     [exec] Project WARNING: No .qmake.cache is present. This significantly slows down qmake with this makespec.
     [exec] Project WARNING: Call 'cache()' in the top-level project file to rectify this problem.
     [exec] make: Nothing to be done for `first'.
     [exec] cp: ./build/mac.64/settings.ini: No such file or directory
     [exec] Result: 1
     [echo] Reverting destination path

実行可能ファイルをコンパイルしていない理由がわかりません。

私のターゲットは次のようになります。

<target name="build.mac.64">
    <echo>Building for Mac</echo>
    <exec executable="qmake">
        <arg value="myproject.pro"/>
        <arg
        value="-r"/>
        <arg value="-spec"/>
        <arg value="macx-clang"/>
        <arg value="CONFIG+=x86_64"/>
    </exec>

    <exec executable="make" />

    <exec executable="cp">
        <arg value="./settings.ini"/>
        <arg value="${default.build.dir.mac.64}/settings.ini"/>
    </exec>

</target>

私が間違っているところはありますか?

4

4 に答える 4

45

ヒントをありがとう。私は自分が間違ったことをしていたことに気づきました。QT-Creator は、実際には最初の 2 つのステップを黙って実行します。

  1. ビルド出力ディレクトリを作成する
  2. ビルド出力ディレクトリへの CD (KEY STEP)
  3. .pro ファイルを参照して qmake を呼び出す
  4. 発信する

したがって、私が見落としていた重要なことは、最初にビルド ディレクトリに移動してから、qmake、make などを呼び出す必要があるということでした。また、ビルドに既にファイルがコンパイルされている場合、そのエラーがスローされます。ビルド ディレクトリをクリーンアップして、すべてを新しくコンパイルする必要があります。

于 2013-10-06T16:56:49.070 に答える
10

既存のプロジェクトをコンパイルする場合、qmake -project は実際には間違っています。「qmake --help」を参照してください。

qmake -makefile
make

大規模なプロジェクトの場合は、「make -j4」など。

于 2017-02-12T15:48:12.070 に答える