更新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#项目中。 那么如何包含它们呢?
非常感谢。
答案 0 :(得分:2)
他们没有。相反,您需要在自己的代码中构建/使用二进制兼容类型,并使用它们。 (并且,您从 dll 导入方法,而不是从 lib 导入。
答案 1 :(得分:0)
你不必做任何包括。 DLLImport就足够了。
要查看您可以导入的方法,您可以使用DependencyWalker或我最喜欢的工具CFF Explorer
我经常使用任何WINAPI函数,我需要在头文件中定义一些常量。我总是不得不在我的C#代码中定义它们,没有办法&#34; import&#34;它们。