将 SWIG 与构建系统结合使用[关闭]

2024-03-29

有人有使用 SWIG(界面生成器)的经验吗?

我有一个 C 项目,我想将其暴露给许多其他语言/框架,例如 Python、Java、.NET、Perl、PHP、Ruby。

我想与我的构建系统(基于 CMake 的)集成,但任何实现此目的的方法都可以。


CMake 附带了一个用于构建 SWIG 包装器的模块。

您的 CMakeLists.txt 应包含如下内容:

FIND_PACKAGE(SWIG REQUIRED)
INCLUDE(${SWIG_USE_FILE})

FIND_PACKAGE(PythonLibs)
INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})

SET(CMAKE_SWIG_FLAGS "")

SWIG_ADD_MODULE(example python example.i example.cxx)
SWIG_LINK_LIBRARIES(example ${PYTHON_LIBRARIES})

See http://www.itk.org/Wiki/CMake_FAQ#How_do_I_use_CMake_to_generate_SWIG_wrapper_libraries.3F http://www.itk.org/Wiki/CMake_FAQ#How_do_I_use_CMake_to_generate_SWIG_wrapper_libraries.3F了解更多详细信息(上面的例子取自那里......)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 SWIG 与构建系统结合使用[关闭] 的相关文章

  • Qt 5 和 OS X Mavericks 问题

    我正在使用 Cmake 在 OS X 10 9 上构建 QT 项目 自 Mavericks 以来 OpenGL 标头的位置似乎发生了变化 文件夹 System Library Frameworks OpenGL framework Head
  • CMake:如何在多个文件上运行自定义命令来生成源文件?

    我有以下情况 我想编译一些Scheme文件Gambit https github com gambit gambit成可执行文件 为此 我使用 gambit 将所有计划文件翻译 生成为 C 和目标文件 然后将其编译并链接为可执行文件 假设我
  • 无法安装 R 包:CMake 错误

    我正在尝试安装factoextra 但我在 CMake 部分遇到了困难 特别是出现如下错误 CMake Error The source directory tmp does not exist 当我尝试安装其依赖项时也是如此 nloptr
  • CMake 链接失败

    我正在为 CMake 配置我的项目 并且遇到链接问题 项目文件全部编译成功 然后它说它正在链接并报告未找到的各种符号 这些符号大部分是由我自己的代码提供的 其中一些是由 BerkeleyDB 提供的 它已被正确定位并包含在内 这是我的顶级
  • 所有 iPad 和 iPad Pro 的视图之间的间距是否规则/规则?

    我最近遇到了不同 iPad 之间常规 常规尺寸类别的差异 这是我的相关问题所有 iPad 包括 iPad pro 的常规 常规头寸大小限制 https stackoverflow com questions 33958858 regular
  • cmake:在 CMakeLists.txt 中选择生成器

    我想强制CMake使用 Unix Makefiles 发电机来自 CMakeLists txt 中 这是我现在使用的命令 cmake G Unix Makefiles 我希望是这样的 cmake 当在安装了 VC 和自定义工具链的 Wind
  • 来自 SWIG PyObject_Call Segfault 的 Python 回调

    我有一个 wx py Shell shell 小部件 它允许用户执行与我的程序交互的 python 代码 我希望能够将用户在此空间中定义的函数传递给我的 C 代码 通过 wxswig 围绕我的自定义小部件生成的包装器 并执行它 在我的 C
  • 如何通过 Python/C API 将 Python 实例传递给 C++

    我通过使用 SWIG 2 0 包装接口来使用 Python 2 7 扩展我的库 并且有一个我想在其中创建访问者的图形对象 在 C 中 接口如下所示 struct Visitor virtual void OnStateBegin 0 vir
  • 使用滚动视图通过 Swift 放大图像

    我正在从 Apple 的 Swift 应用程序开发 中学习 Swift 我遇到了约束问题 特别是在第 593 页的 I Spy 实验室 它基本上希望您创建一个滚动视图 其中包含图像视图 并使其可以放大图像并滚动它 例如当您打开照片时 在 照
  • 当我调用 CMake 时如何定义变量,以便 qtcreator 知道它已定义?

    我有一段根据 define 有条件激活的代码 如下所示 ifdef VARIABLE code function endif cmake 脚本有一个 选项 命令 可以像这样设置变量 option VARIABLE Want to use V
  • Jenkins + Cmake + JIRA = 多个相互依赖项目的 CI?

    我们的系统中有许多小项目在 Linux 上运行 Slackware 7 11 正在慢慢迁移到 RHEL 6 0 大约 50 100 个应用程序和 15 20 个库 我们几乎所有的应用程序都使用我们的一个或多个库 我们的源树看起来像这样 ap
  • 如何使用界面生成器在 UITableView 中设置水平滚动?

    我的应用程序中有 UITableView 有 2 列 我可以阅读第 1 列和第 2 列的一半 我的问题是 我们可以使用 uitableview 中的界面生成器添加水平滚动 以便我可以读取表中所有单元格的第 2 列吗 我们是否也必须为此添加一
  • CMake:不要为链接中使用的单个库设置 rpath

    我想要做的是配置我的 CMakeLists 文件 以便在构建我的项目时 链接器使用驻留在我的构建树中的共享库 so 的副本来链接可执行文件 但不会在中设置 rpath链接的可执行文件 以便系统必须在加载程序请求时提供该库 具体来说 我想在构
  • 将 cmake 与自定义文件生成器结合使用

    我想使用 CMake 生成混淆的 lua 文件以供交付 在我的一生中 我无法让 add custom command add custom target 为我构建这些文件 我缺少一些东西 ADD CUSTOM TARGET LUABIND
  • 包装 C++ Qt 小部件以便在 Python 中与 PySide 一起使用

    在 Python 中使用自定义 Qt 显示小部件包装自定义 C 库以便在基于 PySide 的 QApplication 中使用的最佳方法是什么 C 库是否需要特殊处理才能使用 SWIG 进行包装 封装的 Qt 小部件能否与 PySide
  • 设置 CMake OBJECT 库的输出目录

    在我的 CMake 文件中 我指定了一个对象库 add library core OBJECT sourcefiles 我在共享库中进一步引用了这组目标文件 add library sharedlib SHARED
  • Cmake 链接到共享库找不到​​库

    在 Ubuntu 上 我有两个目录 build and src In src my CMakeLists txt文件有以下几行 add executable Test main cpp target link libraries Test
  • clang-tidy - 忽略第三方标头代码

    我正在为我的项目使用 CMake 并且我想向项目引入 clang tidy 检查 我用于此目的CMAKE CXX CLANG TIDY and clang tidy用于检查设置的文件 我想在 CI 中使用警告作为错误来可靠地检查提交是否引入
  • 为什么不使用 Interface Builder [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用 Apache Arrow 在 Windows 上使用 C++ 编写 Parquet 格式的文件?

    我正在尝试使用 C 在 Windows 上编写 Parquet 文件 我按照我找到的说明进行操作here https github com apache arrow blob master docs source developers cp

随机推荐