用C#調用C++DLL提示找不到DLL解決方法【轉】


用C#調用自己寫的C++ DLL(x64),總是提示找不到DLL,調試可以,發布release老是提示找不到DLL(dll文件確定存在)

 

原因:Visual C++的DLL分發方式沒選:調試默認選擇:多線程調試 (/MTd)--d結尾的是Debug調試版本

 

解決方法:
  選擇:多線程 (/MT),說明:這種方法應該對於一些程序來說最實用,僅需一個程序,放到哪都可以運行。
  /MT意思就是靜態編譯VC運行庫,靜態了之后就不會再依賴MSVCR140.DLL或者其他版本運行庫了。
解釋:
   1,【項目屬性】->【C/C++】->【代碼生成】->【運行庫改】為“多線程(/MT)”。  (我是完成到這一步問題就解決了)
  * MT開頭的是靜態引用,MD開頭的是動態引用,d結尾的是Debug調試版本,沒有d的是Release發布版本,所以就一 共有四個選項。 
  2,【項目屬性】->【鏈接器】->【系統】->【所需的最低版本】修改為“5.01”。 
  * 5.01表示windows 2000 with sp1版本。
 
實測可以解決問題,轉自: https://www.cnblogs.com/94cool/p/6113994.html,僅供自己學習使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM