2013-05-10 171 views
1

我需要創建一個C#DLL中的.lib文件(我認爲這是C#監守這個代碼調用的dll https://code.google.com/p/thunder-missile-api/downloads/detail?name=MissileLauncher.cs&can=2&q=)在其他字的我需要創建一個.LIB爲DreamCheeky Thunder Missile Launcher DLL,來與他們software如何從C#DLL創建.lib文件?

請還跟下載軟件並安裝它,如果你可以的話,僅僅是1 MB。

現在,我需要做什麼?我需要使用C++來操作這個設備。最簡單的方法是使用自己的DLL。上面的鏈接代碼在C#中完成。

我嘗試將DLL文件導入到項目C++中,但似乎有些方法丟失,特別是在C#代碼中調用的像moveMissileLauncher()這樣的方法。

最重要的事是,我可能要移動到QT(最有可能),所以你知道,有.LIB是一個好主意。

這對我來說非常重要。請善舉提供一些幫助。謝謝。

回答

1

裝箱從託管DLL一個lib沒有好處。您需要互操作使用 http://msdn.microsoft.com/en-us/library/ms973872.aspx

在特定情況下,我會寫一個C++的lib暴露你需要/想調用的方法和使用互操作

我會那樣做它們轉發到託管的C#DLL在C++/CLI中,個人。 關於您擁有的選項的最近更新的文章是http://msdn.microsoft.com/en-us/magazine/dd315414.aspx,或者查看SO for COM/.NET interop,您會發現很多答案。

+0

感謝您的回覆。你的意思是,手動爲dll寫C++? – 2013-05-10 07:43:38

+0

萬一,怎麼辦? – 2013-05-10 07:44:10

+0

@Knight我在答案中添加了幾個鏈接。基本上,您將需要一個代理/包裝器來將功能轉發到託管DLL。所以,基本上,你將有本機exe(C++) - >本機DLL(C++/CLI) - >託管DLL – 2013-05-10 07:48:09

1

你想從你的C++應用程序調用託管的C#代碼。 Here是一個教程,可以從你的C++應用程序調用c#代碼,我之前使用過這個方法,並且對我來說工作正常。