1

myObjectFile.o などのプリコンパイル済みオブジェクト ファイルがあります。.pro ファイル内には、次のようなコード ブロックがあります。

mac {
    ...
    OBJECTS += myObjectFile.o
}

これは、オブジェクト ファイルをプロジェクトの残りの部分とリンクするのに最適ですが、致命的な問題があります。クリーンアップを行うと、このオブジェクト ファイルが削除されます。また、プリコンパイルされているため、再度ビルドしようとすると、ファイルをプロジェクト ディレクトリにコピーして戻すまで、リンク エラーが発生します (実際には .pro ファイルにファイルをコピーするためのシステム コールがあるため、qmake を再度実行します)。

この問題は煩わしく、継続的インテグレーション サーバーでいくつかの問題を引き起こします。基本的に、プリコンパイルされたオブジェクト ファイルをコードにリンクする方法を探しています。

4

1 に答える 1

2

LIBSこれを行うには、次の代わりにオブジェクトファイルを追加しますOBJECTS

mac {
    ...
    LIBS += myObjectFile.o
}

の内容はLIBSそのままリンカに渡されるため、オブジェクトファイルをリンカに含めることができます。

于 2012-10-19T18:13:50.860 に答える