用vs2005呼叫matlab2010a生成的dll檔案,vs2005是MFC形式,現在我改變了matlab的m檔案,重新放行程式里,名字也是原來的名字,一運行程式就報錯:
0x7c812afd3處未處理的例外: Microsoft C++ 例外: 記憶體位置 0x0012f134 處的 mwException。
按照網上教的方法呼叫matlab的方法做了一個小程式沒問題,不知道mfc是不是有特殊規定。
現在手里的這個程式是別人的程式,想要做一些改動,不知道步驟哪里出錯了,請大家指導一下。下面是我按照的步驟:
1.在matlab中生成dll
在matlab的command 視窗鍵入:
>> mcc -B csharedlib:mrank mrank.m
在matlab7.0中執行上述命令后生成下面幾個檔案:
mrank.exp mrank.exports mrank.h mrank.lib mrank.c mrank.dll
首先配置vs的環境
1.工具——> 選項——>專案和解決方案——>VC++目錄
(1) 選擇“可執行檔案”下拉框,添加:C:\Program Files\MATLAB\R2010a\bin\win32(注意:當前的Mathlab安裝在C:\Program Files下面)
(2)選擇“包含檔案”下拉框,添加:C:\Program Files\MATLAB\R2010a\extern\include
(3)選擇“參考檔案”下拉框,添加:C:\Program Files\MATLAB\R2010a\extern\lib
(4)選擇“庫檔案”下拉框,添加:C:\Program Files\MATLAB\R2010a\extern\lib\win32\microsoft
對于每一個工程,做下面的設定
專案——>屬性——>連接器——>輸入
選擇:附加依賴項:添加:
libmex.lib
libmx.lib
libmat.lib
mclmcrrt.lib
將mrank.h mrank.lib mrank.dll拷貝到當前目錄下
是不是缺少了什么步驟?
uj5u.com熱心網友回復:
你修改了,m檔案,回應的dll也應該從新生成一下吧。http://blog.csdn.net/wangyaninglm/article/details/39188535
uj5u.com熱心網友回復:
mrank.lib也要放到依賴項吧,鏈接的時候要用到uj5u.com熱心網友回復:
dll檔案和其他兩個檔案都是重新生成的,mrank.lib也 在依賴項里面uj5u.com熱心網友回復:
有沒有人會啊,實在是搞不懂
uj5u.com熱心網友回復:
我也遇到了同樣的問題,同樣的.m檔案用win32控制臺應用程式寫沒問題,可是移植到MFC下就出現了:Unhandled exception at at 0x000007FEFCD0B16D in Faultanalysis2.3.exe: Microsoft C++ exception: mwException at memory location 0x00000000001BAF08.
這個問題,正在找原因~~~~不知道在MFC下有什么需要特別注意的地方
uj5u.com熱心網友回復:
我也遇到這個問題了==請問最后解決了么?
uj5u.com熱心網友回復:
樓主,你現在解決了嗎?我也遇到同樣的問題,請教uj5u.com熱心網友回復:
樓主最后解決了嗎?我也遇到相同的問題了,做了各小程式沒問題。轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/93944.html
標籤:基礎類
上一篇:windows服務啟動一個外部exe的行程,為什么while回圈之執行一次呢?
下一篇:dx opengl
