Qt はデフォルトでは静的にビルドされず、拡張子が .lib または .a のファイルがある場合、これらのファイルはインポート ライブラリのみです。私は自分のアプリケーションを小さくてポータブルにしたいので、Qt を静的に再コンパイルすることを考える以外に、動的ライブラリのパッケージをできるだけ小さくして、Qt とは関係のない別のコンピューターにインストールできるようにする方法も考えています。私のQtアプリケーションを実行している場合に有効です。この場合、私はまだWindows XP以降のバージョンのWindowsについてです。このようなパッケージを作成する場合、Qt5 インストーラーはシステムとユーザー パスに何も追加せず、Qt Creator なしではコンパイル済みアプリを実行できないことに最初に気付きました。ただし、システムとユーザーのパス変数にこれを追加した後:
"K:\Qt\Qt5.0.2\5.0.2\mingw47_32\bin"
どこ
"K:\Qt\Qt5.0.2"
は Qt インストール フォルダーです。ドライブ上の任意の場所から Qt Creator の外部でアプリを実行できます。この事実を念頭に置いて、そのようなパッケージはコピーするだけで十分だと思いました
"K:\Qt\Qt5.0.2\5.0.2\mingw47_32\bin"
別のコンピューターに、それをシステムとユーザーのパスに追加すると、すべてが思いどおりになります。残念ながら、これは真実ではありません。2 台目の PC でアプリを実行できなかったことに少しがっかりしましたが、そこに同じ Qt バージョンをインストールし、同様のパス エントリを作成すると、すべてが正常に動作し始めました。具体的には、2 台目の PC のインストール ディレクトリは次のとおりです。
"M:\Qt\Qt5.0.2"
パスにこれを追加すると:
"M:\Qt\Qt5.0.2\5.0.2\mingw47_32\bin"
それは機能しますが、代わりにこれを追加すると:
"M:\Qt_5.0.2_libs\bin"
「M:\Qt\Qt5.0.2\5.0.2\mingw47_32\bin」とまったく同じファイルが含まれています
それはしません。
だから私の質問は:
機能しないために何が欠けているのでしょうか?また、そのような最小限のパッケージを作成するにはどうすればよいですか?