【问题标题】:Using a .lib file in a C# program在 C# 程序中使用 .lib 文件
【发布时间】:2013-07-25 13:02:03
【问题描述】:

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

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

【问题讨论】:

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


【解决方案1】:

您可以创建一个托管包装器,请在此处查看分步说明:

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

【讨论】:

    【解决方案2】:

    没有传统的链接器可以让您导入库。最好的办法是编译成 COM 库并使用互操作来使用它。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        我不知道 .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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多