如何在C#中引用.inl和.h文件

时间:2014-03-05 14:26:26

标签: c# c++ interopservices

更新1:

我想知道我是否可以引用.lib文件,但似乎我不能。 如果这是真的,并且我没有C ++项目的源代码,我该如何使用它的方法? 顺便说一下,我正在使用FastCV库。


我遇到了一种需要从C#代码调用C ++方法的情况。 C ++生成的文件结构:

 lib
 --libfastcv.lib
 --vc120.pdb inc
 --fastcv.h
 --fastcv.inl
 --stdint.h

我知道如何从C#中调用C ++方法:

[DllImport("libfastcv.lib",CallingConvention=CallingConvention.Cdecl)]
public static extern <ReturnType> <MethodName>(<Parameters>);

但我认为.h和.inl文件也需要包含在我的C#项目中。 那么如何包含它们呢?

非常感谢。

2 个答案:

答案 0 :(得分:2)

他们没有。相反,您需要在自己的代码中构建/使用二进制兼容类型,并使用它们。 (并且,您从 dll 导入方法,而不是从 lib 导入。

答案 1 :(得分:0)

你不必做任何包括。 DLLImport就足够了。

要查看您可以导入的方法,您可以使用DependencyWalker或我最喜欢的工具CFF Explorer

我经常使用任何WINAPI函数,我需要在头文件中定义一些常量。我总是不得不在我的C#代码中定义它们,没有办法&#34; import&#34;它们。