将 SWIG 与构建系统结合使用

发布于 2024-08-06 19:55:51 字数 147 浏览 3 评论 0原文

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

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

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

Anyone have experience with using SWIG (the interface generator)?

I have a C project which I would like to expose to a bunch of other languages/frameworks, like Python, Java, .NET, Perl, PHP, Ruby.

I would like to integrate with my build system (which is CMake-based), but any method of accomplishing this will do.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

隱形的亼 2024-08-13 19:55:51

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})

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

CMake comes with a module for building SWIG wrappers.

Your CMakeLists.txt should include something like this:

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 for more details (the above example is taken from there...)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文