0

これが一般的すぎるかどうかはわかりません。その場合、qmakeを使用してLinuxを使用していると言いますが、必要なときにいつでもプロジェクトでLinuxからWindowsに切り替えられるようにしたいと思います。同様に、おそらく他のPC。

これを行うために、ここにいるプログラマーの何人かが絶対パス定義を使用せずにリソースディレクトリを使用する方法を知りたいと思います。Qtでは、ランタイム作業ディレクトリはアプリケーションのビルドディレクトリであり、ソースディレクトリではないようです。

理想的には、ソースディレクトリにあるリソースディレクトリを取得し、それを相対ビルドディレクトリ(開発段階に応じてデバッグまたはリリース)にコピーして、アプリケーションが経由でアクセスできるようにするのが最善の解決策だと思います。実行時間。

ただし、これにより複雑になる可能性があります(少なくとも、可能だと思います)。

とにかく、これを行うための良い解決策は何でしょうか?

4

2 に答える 2

3

Qtを使用している場合。デプロイプロセスを使用することをお勧めします。 http://doc.qt.digia.com/qtcreator/creator-building-running.html

基本的には、コピーする必要のあるディレクトリを宣言するだけです。qtクリエーターは、ビルドプロセスが完了した後、それらのdirをビルドdir(リリース/デバッグ)にコピーします。次に、実行可能ファイルを実行するだけです。

これがその一例です。 https://github.com/longwei/incubator-cordova-qt

プロファイルファイルで

wwwDir.source = www
xmlDir.source = xml
qmlDir.source = qml

DEPLOYMENTFOLDERS = wwwDir xmlDir qmlDir

2番目

include(deployment.pri)
qtcAddDeployment()

その後、それが行われます。

于 2012-10-11T20:58:05.373 に答える
1

何を達成しようとしているのかは明確ではありませんが、おそらく単純な解決策は、ビルドスクリプトがコンパイル定義(-Dgccを使用)を介して必要なパスを渡すことです。次に、そのデバッグ、リリースなどのビルドに応じて、定義がそれに応じて設定され、対応するバイナリが正しいパスを持ちます。

ちなみに、私はしばらくの間qmakeを試しましたが、SConsの方がはるかに用途が広いことがわかりました。

于 2012-10-11T19:28:46.857 に答える