C++、Qt（たしか4.5くらいだったと思います）で開発したWindowsデスクトップアプリケーションを一度別環境（環境Aとします）にも移し、動くことを確認したのですが、さらに別のマシン3台（環境B、C、Dとします）ほどで確認したところ起動できませんでした。  
開発環境も含めた環境については以下の通りです。

  * 環境BだけWin11、それ以外はWin10
  * すべて64bit、リビジョンもおそらくすべて21H2
  * 環境AはQtなどは入れてはいないはずだが、C#、.NET Frameworkでの開発に使っている
  * 環境B、Dではlibintl-8.dllがどの場所にもないことを確認（その他のマシンでは確認してません）

エラー内容としては「
**libintl-8.dllが見つからないため、コードを実行できません。プログラムを再インストールすると、この問題が解決する可能性があります。**
」というものです。環境Aでは各dllについてのこのエラーが出るたびに開発環境からdllを持ってきて、最終的に動くことを確認しました。  
ただ、現在は1週間ほど開発環境と環境Aが確認できない状態なので、エラーが出ているdllを持ってこれません。そこで、dllダウンロードサイト（<https://jp.dll-
files.com/libintl-8.dll.html>、<https://jp.error-
dll.info/file/libintl-8dll>）からlibintl-8.dllをダウンロードしアプリケーション実行ディレクトリにおいて実行すると、「
**アプリケーションを正しく起動できませんでした（0xc000007b）。[OK]をクリックしてアプリケーションを閉じてください。**
」というエラーが出ます（"https://jp.error-
dll.info/file/libintl-8dll"のdllはサンドボックス上で確認）。調べたところ64/32bitの不整合という話があり、確かにlibintl-8.dllがこれらのサイト上に上がっているものは32bitなのかもしれません。  
数日のうちにこのエラーを解消してアプリケーションを起動できるようにしたいと考えています。何かアドバイスや不足情報等あればコメントいただきたいです。よろしくお願いします。
CC BY-SA 4.0
2022-12-31T08:35:04.440
93122
2023-01-05T03:31:36.683
31624
question
c++ windows qt dll
C++アプリケーションを別環境で起動できない
DLLme.comというサイトからx64のdllがダウンロードできました。結局計4つのDllが足りないと言われ都度ダウンロードし、動くようになりましたが、出所がよくわからないものなので実稼働はやめておきます。ありがとうございました。
CC BY-SA 4.0
2023-01-03T12:21:33.460
93166
2023-01-03T12:21:33.460
31624
93122
answer
なんとなくDLLをコピーした場合、過不足がわかりませんし、バージョン不一致も発生しかねません。  
別環境で動作させるためにあるべき姿としては、[Qt Installer
Framework](https://doc.qt.io/qtinstallerframework/index.html)を使用してインストーラーを作成するべきではないでしょうか。
CC BY-SA 4.0
2023-01-05T03:31:36.683
93192
2023-01-05T03:31:36.683
4236
93122
answer