C#WinMobile 6.1项目中的C ++ DLL - 1c2机器(Thumb)vs 14c机器(x86)

时间:2012-11-26 12:37:51

标签: c# c++ visual-studio dll windows-mobile

我正在尝试将已为1c2 machine(thumb)编译的一些DLL导入到WinMobile 6.1 C#Smart Device项目中。

但是当我尝试将它们导入我的C#项目时,我得到“无法添加对...的引用”,我可以添加已经为14C机器(x86)编译的DLL,我的C#WinMobile项目有任何CPU因为它的设置,是否可以导入1C2机器DLL或我是否需要将这些重新编译为14C机器x86?

DLL Import

1 个答案:

答案 0 :(得分:2)

你无法做你想做的事。您不能只是从托管代码“添加引用”到本机DLL。 “添加引用”专门用于添加托管引用。

如果要从托管代码调用本机DLL,则必须编写并调用P / Invoke互操作函数。即使这样,您也只能调用公开导出的C函数(不是C ++,除非它有COM接口),因此您可能还必须编写C存根或某种形式的工厂函数来代理您希望进行的任何C ++调用。 / p>