0

VC++ 2008 で Dll を作成しましたが、他のソフトウェア (VB) で動作しています。Labview でその dll 関数をロードできません。VC90 デバッグ CRT エラーが発生しています。このソフトウェアが私の dll をサポートしていないのはなぜですか?

4

4 に答える 4

0

VC++2008でコンパイルされたバイナリ/DLLを使用してデバッグCRTを配布することはお勧めできません。DLLには、同じディレクトリにあるDebug-CRT-Dllsのマニフェストファイルが必要です。

VC 2008 SP1では、さらに悪いことになります。マニフェストファイルに古いバージョンのパッチを適用するか、stdafx.hで_BIND_TO_CURRENT_VCLIBS=1を使用してDLLを実行する必要があります。

詳細情報:アプリはVS 2008 SP1 DLLでは動作しません、以前のバージョンはRTMバージョンで動作します

于 2011-09-27T06:54:44.450 に答える
0

動的 crt にリンクし、それがターゲット マシンに存在することを確認できませんでしたか? 静的バージョンを試してください ( /MD の代わりに /MT を使用してください)。

于 2009-03-24T08:15:59.877 に答える
0

depends.exe (依存関係ウォーカー) を使用して、いくつかの理由を見つけることができます。あなたの場合、依存関係ウォーカーで labview.exe を選択し、依存関係ウォーカーでプロファイルを選択します。

dll が読み込まれると、読み込まれていない理由がわかる場合があります。

この実際のリンクは、プロファイル メソッドを含む依存関係ウォーカーにつながります。 http://www.dependencywalker.com/

于 2009-06-04T21:02:59.843 に答える
0

デバッグ ターゲットを使用して DLL をコンパイルしましたか? その場合、Visual Studio がインストールされていないシステムでは機能しません。リリース モードでコンパイルされた dll を公開する必要があります。

于 2009-04-21T21:23:18.313 に答える