有人使用 CLI 后端为 gcc 编译器编译 lib x264 吗?
题
有没有人使用lib x264编译过 gcc 的 CLI 后端 编译器?(将x264编译成.net dll)
解决方案
您使用 C99 功能吗?如果没有,则使用 Visual C++ /clr:pure
选项应该可以解决问题。您将需要混合一点 C++/CLI 来定义其他 .NET 项目可以调用的入口点,但这些可以位于完全独立的文件中(您可以与本机项目共享整个纯 C 源文件)。
编辑:完成这项工作的基本指南:
- 在 Visual Studio 中,创建 C++/CLI 类库项目
- 将所有 C 源文件添加到项目中
- 在项目配置中,设置包含路径,以便找到您的标头
- 在项目配置中,还将“公共语言运行时的使用”设置为
/clr:pure
- 在新建项目向导创建的.cpp文件中,添加
#include
头文件的指令,它是您要使用的函数的原型。 - 在里面
ref class
由新项目向导创建(在上述 .cpp 文件中),添加一些调用 C 库函数的函数(可能是静态函数)。 - 编译,添加这个 .DLL 作为 C# 项目的引用,然后享受
作为提示,不要在 ref class
对于库中的每个函数,您可能希望通过调用一堆库函数来创建执行有用工作的函数(对于对您的特定项目有用的特定定义)。
您可能想要适应 marshal_as
适合转换 .NET 的模板 System::String
转换为 C 字符串,然后再返回。
不隶属于 StackOverflow