dllファイルの動かない問題
Show older comments
MATLABに学習した結果(ネットワーク)を保存してC++共有ライブラリファイルを作って他のC++プログラムに連動しています。
でも、Win10とVisualStudio2015が設定してあるパソコン2台から同一な”.Mat”ファイルを使ってdllファイルを作る場合、dllファイルが動かない現象が発生しています。
例えば、
パソコン1(Win10、VisualStudio2015、2018b)、日本語版:C++用DLLファイル作成 → 他のプログラムに連動可能
パソコン2(Win10、VisualStudio2015、2018b)、韓国語版:C++用DLLファイル作成 → 他のプログラムに連動不可(DLLの初期化が失敗)
上記事項についてなんか他の確認が必要な事項がありますか。
Answers (1)
Kojiro Saito
on 17 Sep 2019
0 votes
LNK2019のエラーなので以下2点が考えられます。
(1)ソリューションのプラットフォーム
Visual Studioでソリューションのプラットフォームがx64になっていますでしょうか?

(2)追加の依存ファイル
こちらのAnswerのように、追加の依存ファイルの設定が漏れている可能性があります。
「プロジェクト」 -> 「プロパティ」 -> 「リンカ」 -> 「入力」 -> 「追加の依存ファイル」にmclmcrrt.libが追加されていますでしょうか?
7 Comments
WAN PYO HONG
on 17 Sep 2019
Kojiro Saito
on 17 Sep 2019
パソコン1で作成したVisual Studioのソリューションファイルとファイル一式をパソコン2にコピーして、パソコン2でVisual Studioでソリューションファイルを開いても同じエラーが出ますでしょうか?
WAN PYO HONG
on 18 Sep 2019
Kojiro Saito
on 18 Sep 2019
了解しました。同じエラーが出るということは、パソコン2のソリューションファイルが問題ではないですね。
dllの問題なのか、パソコンの環境の問題なのかを切り分けるのに、以下を試していただけますか?
- PC1で作成したdllをPC2にコピーして、PC2で適用 (dllを差し替え)
- PC2で作成したdllをPC1にコピーして、PC1で適用 (dllを差し替え)
WAN PYO HONG
on 18 Sep 2019
Edited: WAN PYO HONG
on 18 Sep 2019
Kojiro Saito
on 19 Sep 2019
mclmcr.dllはMATLAB_RuntimeまたはMATLABのbin\win64フォルダーにあります。ファイルが存在しているか確認して、もし存在していなかったらインストールが失敗している可能性があるのでMATLAB Runtimeの再インストールが必要となります。
また、他のソフトウェアでmclmcr.dllと同じ名前のライブラリを使ってファイル競合が起きている場合もあるので、その場合は環境変数PathでMATLAB Runtimeのパスを一番上に持ってきてみてください。
WAN PYO HONG
on 24 Sep 2019
Categories
Find more on C++ mwArray API 共有ライブラリの統合 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!