導航:首頁 > 源碼編譯 > matlab文件編譯成dll

matlab文件編譯成dll

發布時間:2023-09-11 17:26:22

① Matlab 2017b編譯生成exe或DLL文件後無法運行的問題及其解決方法

問題原因

出現此問題是由於Windows 的system32目錄下兩個DLL文件版本太低,這兩個文件是SSLEAY32.DLL和LIBEAY32.DLL。

這兩個文件在MATLAB安裝目錄的\bin\win64目錄下也有,\bin\win64這個目錄是在添加到了系統的PATH變數里了的。但是Matlab編譯後的exe程序在運行時,system32目錄有高的優先順序,會使用system32目錄下的這兩個文件,導致初始化錯誤,直接閃退。

解決方法

知道了此原因,有兩種解決方法:

(1)將Matlab的安裝目錄 \bin\win64下的SSLEAY32.DLL和LIBEAY32.DLL復制到windows的system32目錄下,覆蓋舊版本的文件。但是這樣可能導致使用這兩個DLL文件的其他程序出現問題。

(2)將Matlab的安裝目錄 \bin\win64下的SSLEAY32.DLL和LIBEAY32.DLL文件復制到自己編譯後的exe同目錄下,這樣exe文件在運行時就是找自己目錄下的這兩個DLL文件,而不會使用windows\system32目錄下的DLL文件。

---------------------

原文:https://blog.csdn.net/hongandyi/article/details/79427078

② 在MATLAB中用C語言編寫S函數時,怎麼生成動態鏈接庫(DLL)文件

在編寫好S函數的實現代碼*.c文件後,還需要在Matlab的命令輸出窗口中進行命令行輸入,完成對源代碼的編譯,這樣才能被S函數模塊所調用。在命令窗口中輸入命令:
「mex

-g

RandomTimeDelay.c」
M文件S-函數在MATLAB環境下可以通過解釋器直接執行,而C文件或其它語言編寫的C-函數,則需要先編譯成可以在MATLAB內運行的二進制代碼:動態連接庫或靜態連接庫,然後才可以使用,這些經過編譯的二進制文件就稱作MEX文件。用MEX命令來對*.c文件進行編譯,然後會在相應的目錄下生成對應的*.mexw32文件。然後就可以在simulink模塊中引用這個s函數了。

閱讀全文

與matlab文件編譯成dll相關的資料

熱點內容
食品批號的app是什麼 瀏覽:177
文件夾復原快捷鍵 瀏覽:374
app顏色為什麼黑白 瀏覽:170
領券app是什麼軟體正規 瀏覽:478
360zip命令行 瀏覽:280
內網文件夾共享怎麼建立快捷方式 瀏覽:646
驅動器加密保存文件 瀏覽:75
希沃白板如何安裝安卓應用 瀏覽:923
手機私密相冊哪個app最好 瀏覽:872
pythonopencvframe 瀏覽:867
達州加密自動監測網 瀏覽:347
高一數學必修三演算法 瀏覽:806
伺服器未響應怎麼解決手機 瀏覽:190
程序員回到古代 瀏覽:402
軟體合並一個文件夾 瀏覽:664
設置Android程序圖標 瀏覽:371
app哪個局 瀏覽:911
源碼編輯器中怎麼保存 瀏覽:471
python背景圖片代碼 瀏覽:457
3D卡片下載哪個App 瀏覽:540