更新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#项目中。那么如何将它们包括在内呢?
非常感谢。
发布于 2014-03-05 14:30:00
相反,您需要在自己的代码中构建/使用与二进制兼容的类型,并使用它们。(并且从dll导入方法,而不是从lib导入方法)。
发布于 2014-03-05 14:29:02
你不需要做任何包括。DLLImport应该就足够了。
要查看可以导入的方法,可以使用DependencyWalker或我最喜欢的工具CFF探索者
我经常使用任何WINAPI函数,在这些函数中需要在头文件中定义一些常量。我总是不得不在我的C#代码中定义它们,没有办法“导入”它们。
https://stackoverflow.com/questions/22200528
复制相似问题