2

有人有使用 SWIG(接口生成器)的经验吗?

我有一个 C 项目,我想向一堆其他语言/框架公开,比如 Python、Java、.NET、Perl、PHP、Ruby。

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

4

1 回答 1

1

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(上面的示例取自那里......)

于 2009-10-23T12:25:58.407 回答