20

CImg で画像処理を行うアプリケーションを Qt Creator で作成しました。内部 IDE から実行すると正常に動作しますが、そのディレクトリから起動しようとすると、次のエラーがスローされます。

The procedure entry point ??4QString@@QAEAAV0@$$QAV0AAZ could not be located 
in the dynamic link library QtCore4.dll

すべてが、複数のバージョンの DLL がインストールされていることを示しています。ザイリンクス IDE が Qt ライブラリを使用していることがわかりましたが、問題の DLL は同じバージョンです。私はソフトウェアの専門家ではないので、ここで途方に暮れています。

4

4 に答える 4

19

ライブラリのバージョンが同じであっても、互換性がない場合があります。たとえば、STL サポート、OpenGL、SQL ドライバーの有無など、さまざまな構成でコンパイルされました...

これを修正する最も簡単な方法は、Qt SDK のパスをPATH環境変数の先頭に移動することです。PATHこのようにして、Qt ライブラリを必要とする実行可能ファイルを実行するたびに、実行可能ファイルのディレクトリに QtCore4.dll、QtGui4.dll... のコピーが既に存在しない限り、SDK に同梱されているもの (最初に見つかったもの) をロードします。このため、アプリケーションを再配布する場合は、そのディレクトリにライブラリも含める必要がある場合があります。

もう 1 つのオプションは静的リンクですが、(L)GPL ライセンスの下でソース コードを提供する必要があります。

于 2012-07-28T08:40:09.763 に答える
-1

ライブラリを静的にリンクすると、問題が解消されます。

于 2012-07-27T19:21:06.403 に答える