在C#程序中使用.lib文件

时间:2013-07-25 13:02:04

标签: c# c++ visual-studio-2010 linker static-libraries

我有一个头文件和一个使用C ++创建的.lib文件。

现在我想在C#程序中使用它。这可能吗?

4 个答案:

答案 0 :(得分:8)

您可以创建托管包装,请参阅此处的分步说明:

http://tom-shelton.net/?p=95

答案 1 :(得分:1)

我不知道.lib文件。但我知道如果您将代码编译为DLL,则可以将其作为非托管代码使用。

为此,您需要参考

System.Runtime.InteropServices

您将需要定义要使用的方法并为其指定DllImport属性。像这样:

[DllImport("MyCPPDll.dll")]
public void SomeMethod(int someParameter);

以下是一些有助于指明正确方向的链接:

http://msdn.microsoft.com/en-us/library/26thfadc(v=vs.100).aspx

http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute(v=vs.100).aspx

答案 2 :(得分:0)

没有传统的链接器允许您导入lib。最好的办法是编译到COM库并使用互操作来使用它。

答案 3 :(得分:0)

不直接。您可以通过P / Invoke或使用C ++ / CLI的混合模式程序集与非托管DLL进行互操作。无论哪种方式,您都必须创建一个包装器项目,或者将原始.lib(如果您有源代码)重新编译为DLL。