2011-08-06 4 views
2

私はMATLAB(mex-file)用のライブラリを作成しています。開発中は、Visual Studio 2008でデバッグプロファイルを使用しました。すべてデバッグモードで問題ありません。 MATLABはライブラリを正しく実行します。Visual Studioが64ビットプラットフォーム上でMSVCR90.dll(x86)をリンクしているのはなぜですか?

Visual Studioでrelaseモードに切り替えると、MATLABはライブラリ(.mexw64という名前のdll)を読み込むことができません。 Dependency Walkerを使う私は、デバッグバージョンがMSVCR90D.dll(x64)をリンクしているのを見ましたが、リリースバージョンはMSVCR90.dll(x86)をリンクしています。

デバッグ構成:/ MDD リリース構成:/ MD

任意のアイデア?

+0

Build + Configuration Managerを使用してください。 –

+0

どのように実際にはDLLの32ビット版ですか?名前は32ビットと64ビットで同じですが、異なるファイルです。 – Ajay

答えて

2

うん。リリース構成では、プロジェクトを64ビットにしませんでした。

0

libmsvcrtのアーキテクチャ(x86)を間違って指定しているマニフェストファイルがあります。

0

私は同じ問題を抱えていました。私はそれが私のプログラムではないことがわかった依存性ウォーカーを使用して、それは、Visual Studio 9を使用してコンパイルされたOracleのoraocci11d.dllだったので、msvcr90d.dllが必要でした。 VS2008でコンパイルされたライブラリをダウンロードしました

+0

あなたはその質問を読んだことがありますか? ;) – 0xC0000022L

関連する問題