c# - 如何为 C++ 库创建 CLI 包装器?
问题描述
我有一个库的头文件(*.hpp)和源文件(*.cpp)。我使用 CMake 从源代码构建库,然后使用 Visual Studio 构建它,它创建了一个.lib文件。要创建 CLI 包装器,我需要一个头文件来枚举其中库中的所有方法,以及一个创建代理函数并定义其行为的源文件。
互联网上的教程描述了手动创建代理函数和定义头文件,但是该库在源文件和头文件中有数百个函数,因此我正在寻找一种更简单的方法来创建 CLI 包装器。
我遵循的教程是:
- https://drthitirat.wordpress.com/2013/06/03/use-c-codes-in-ac-project-wrapping-native-c-with-a-managed-clr-wrapper/
- https://dominoc925.blogspot.com/2016/08/use-cmake-to-help-build-and-use-windows.html
我希望在 C# 中使用这些 C++ 函数。
解决方案
使用Swig库。它提供了全面的选项来为 C#、Java、Python、Tcl 和许多其他流行语言生成包装器。它易于使用,并且提供的文档非常清晰和有用。
推荐阅读
- android - 如何使用带有 onSwiped 的 FirebaseRecyclerAdapter 从 recyclerview 和数据库中删除项目?
- reactjs - 使用 heremap 多次拾取和多次放置 api 遇到问题
- python - 在 Python 中使用 json.dump 将“漂亮”的 JSON 对象保存到光盘
- ruby-on-rails - Rails未定义的局部变量或常量内的方法
- php - 为什么我的 mySql 代码需要很长时间才能执行?
- database - 如何使用 sequelize 和 nodejs 在 sqlite3 中设计无穷大?
- python - 旋转 Pyspark DataFrame 以获取 MultiColumn
- azure - 路由到 Azure Front Door 后面的多个 Web 应用
- python - 更改字符串值
- node.js - 数据未加载到前端