我在Win7上用.NET 4.0運行VS2012。 我已經試過如下:從C調用非託管C++#
- 創建C++ DLL項目
- 經過\未選中的出口符號框
- 我確信我的平臺的目標是相同的。在我的情況下,win32
- 我已經在需要的地方添加了必要的extern「C」和__declspec(dllexport)。
- 我已經成功編譯了我的DLL,並試圖在C#項目中引用它。
不幸的是,我得到一個錯誤,告訴我它不能被添加,我需要確保它是一個有效的程序集或COM對象。
我已經放棄了試圖讓我的代碼導出,所以我會很滿意只是例子「42」通過!
我試着看它與DUMPBIN,它是正確的出口符號:
1 0 00011023 [email protected]@[email protected]
2 1 00011127 [email protected]@[email protected]@@Z
3 2 00011005 [email protected]@@QAEHXZ
4 3 0001104B [email protected]@YAHXZ
5 4 00017128 [email protected]@3HA
我的大腦是新鮮的想法。有人可以請賜我嗎?無論我嘗試什麼,我似乎都會遇到這個錯誤。
很抱歉的格式。以前從未這樣做過。我不知道爲什麼編輯不喜歡我的縮進:( – Joseph
感謝您的編輯,paqogomez! – Joseph
一種常見的方法是有C++/CLI(託管C++)「膠合」項目,可以直接引用C#在這個託管的C++項目中,你可以調用你的本地DLL的函數 – cdoubleplusgood