gpt4 book ai didi

python - 将 CMake 用于 Python 中的 C++ 扩展,使用 SWIG 并依赖于预先存在的库

转载 作者:行者123 更新时间:2023-11-30 01:52:29 24 4
gpt4 key购买 nike

从SWIG的帮助文件开始,我要运行下面的代码

# This is a CMake example for Python

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

SET_SOURCE_FILES_PROPERTIES(example.i PROPERTIES CPLUSPLUS ON)
SET_SOURCE_FILES_PROPERTIES(example.i PROPERTIES SWIG_FLAGS "-includeall")
SWIG_ADD_MODULE(example python example.i example.cxx) # I need to link to an external library
SWIG_LINK_LIBRARIES(example ${PYTHON_LIBRARIES})

除了我的例子中的 example.cxx 需要链接到一个预先存在的库之外,这会很好地工作,我们称之为 libmylibrary.a。我尝试将其添加到 SWIG_LINK_LIBRARIES 命令中,但没有成功。有什么想法吗?

最佳答案

原来只需要修改上面最后一行就可以读取

SWIG_LINK_LIBRARIES(example mylibrary ${PYTHON_LIBRARIES})

在 libmylibrary.a 文件中可以理解 mylibrary。

关于python - 将 CMake 用于 Python 中的 C++ 扩展,使用 SWIG 并依赖于预先存在的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24521787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com