我如何与distutils的蟒蛇建设时引入cmake的文件?(How can I incorpora

2019-10-24 02:10发布

我有我在Python调用C ++逻辑。 我创建使用的distutils构建和安装一个setup.py。 在C ++逻辑具有cmake的文件。 要构建C ++此cmake的文件需要被并入setup.py文件。 我怎样才能做到这一点? 下面是用于C ++代码的cmake我的文件。

CMAKE_MINIMUM_REQUIRED(VERSION 2.6)

set(name "facerec")
project(facerec_cpp_samples)

#SET(OpenCV_DIR /path/to/your/opencv/installation)

# packages
find_package(OpenCV REQUIRED) # http://opencv.willowgarage.com

add_executable(fisherfaces_app fisherfaces_app.cpp)
target_link_libraries(fisherfaces_app opencv_contrib opencv_core opencv_imgproc opencv_highgui)

下面是我的setup.py文件。

from distutils.core import setup,Extension

extension_mod=Extension("getGender",["getGender.cpp"])

setup(name="getGender",ext_modules=[extension_mod])

我是新来的嵌入式Python和cmake的。 请如何做到这一点的建议。

Answer 1:

因此,而不是既cmake并setup.py搞乱它,我成立了Python头文件到cmake并建立了一个共享库。 然后用这个共享库从Python中调用我的函数。 我cmake的情况如下,

CMAKE_MINIMUM_REQUIRED(VERSION 2.6)

set(name "facerec")
project(facerec_cpp_samples)

#SET(OpenCV_DIR /path/to/your/opencv/installation)

# packages
find_package(OpenCV REQUIRED) # http://opencv.willowgarage.com

find_package(PythonLibs REQUIRED)
include_directories(/usr/include/python2.7)




add_library(getAge SHARED getAge.cpp)
target_link_libraries(getAge opencv_contrib opencv_core opencv_imgproc opencv_highgui python2.7)


文章来源: How can I incorporate cmake file when building with distutils python?