用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,僅供自己學習使用。