專案需要,在winform程式中使用c#呼叫c++的動態庫,在本機編譯後通過測試,但是拷貝到其它電腦執行出錯。
有一定機率出現錯誤報告(具體原因還沒有除錯),報告異常**為0xe0434352,system.dllnotfoundexception
根據提示找了執行庫,從vs安裝解除安裝程式中也找了依賴庫,全部複製後還是報一樣的錯
根據異常**0xe0434352,在網上查到的東西沒有乙個是有用的,那個恨啊~~~
於是改變搜尋關鍵字「c#呼叫c++ system.dllnotfoundexception」,完全無視了異常**,結果終於查到了想要的東西,測試了一種可用的方法
在c:\program files\microsoft visual studio 8\vc\redist\debug_nonredist\x86\microsoft.vc80.debugcrt 下找到了下列檔案:
msvcm80d.dll
msvcp80d.dll
msvcr80d.dll
microsoft.vc80.debugcrt.manifest
把這幾個檔案拷貝到目標機器上,與執行程式同一資料夾或放到system32下,就可以正確執行了。
這個是debug版本的,其他release版、mfc程式什麼的都是拷redist下相應資料夾下的檔案就可以了,資料夾後都有標識!
Lua 呼叫C 出現的問題
因為演算法測試做了一答應微秒的 但是在lua呼叫c 的時候出現了一些問題 下面是 luatil.h pragma once class lautil lautil.cpp include lautil.h include cocos2d.h include include include if de...
C 呼叫C dll出現的問題。
問題描述 對 pinvoke 函式 winform應用 winform應用.form1 add 的呼叫導致堆疊不對稱。原因可能是託管的 pinvoke 簽名與非託管的目標簽名不匹配。請檢查 pinvoke 簽名的呼叫約定和引數與非託管的目標簽名是否匹配。問題解決 新增屬性 例如 dllimport ...
C 呼叫C鏈結庫會出現的問題
以下是假設舊的c程式庫 c的標頭檔案 c.h ifndef c h define c h extern int add int x,int y endif c的原始檔 c.c int add int x,int y c 的呼叫 cpp.cpp include c.h void main 這樣編譯會產...