0

問題は解決しましたが、なぜ問題が発生したのかを知りたいです。

Qt Creator を使用し、外部ライブラリをリンクしています。私が使用したときの私の.proで

LIBS += -LC:/Flicker/empty/ -lLabview_DLL

すべてがうまくいき、プログラムは機能しました。

使用する

LIBS += -LC:/DATA/Vincent/SemiRead/ -lLabview_DLL

コンパイルはエラーなしで機能しましたが、プログラムでライブラリ関数の 1 つを呼び出すと、クラッシュが発生しました。

Labview_DLL.dll は両方のフォルダーで同じであるため、何が問題なのか疑問に思いました。最後のケースでは、同じ名前の追加の .lib ファイルがあることがわかりました。これを削除した後、すべてがそのフォルダーでも機能しました。現在の .lib ファイルを優先するだけですか? OSはWin7-64

4

1 に答える 1

0

dll へのリンクは、dll の場所に基づいており、コンパイル時には必要ありません。以下のリンクが役立つ場合があります。

静的リンクと動的リンク

http://msdn.microsoft.com/en-us/library/9yd93633.aspx

http://qt-project.org/doc/qt-4.8/qmake-project-files.html#declaring-other-libraries

このため、「LIBS +=」呼び出しはライブラリへの静的リンクを試みます。

それが役立つことを願っています。

于 2013-03-26T18:10:14.947 に答える