У меня есть логика C ++, которую я вызываю из Python. Я создал setup.py, используя distutils для сборки и установки. В логике C ++ есть файл cmake. Для сборки C ++ этот файл cmake должен быть включен в файл setup.py. Как я могу это сделать? Ниже мой файл cmake для кода C ++.
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. Пожалуйста, совет, как это сделать.
Поэтому вместо того, чтобы связываться с 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)