用C#調用C++DLL(x64),總是提示找不到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版本。


免責聲明!

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



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