一、安装boost::python库
打开终端,输入
sudo apt-get install libboost-python-dev
进行安装
二、建立MyFun.py,MyFun.cpp和CMakeLists.txt
MyFun.py
def MyFun(num,mnum): #只有一个函数,num求和再乘 以mnum,用来让c++调用
# nlen = len(num)
temp = 0
for i in num:
temp += i
return temp*mnum
MyFun.cpp
#include <iostream>
#include <boost/python.hpp>
using namespace std;
using namespace boost::python;
//只有一个框架,后续待补充具体内容
class pythonAPI{ //一个c++调用python的接口类
public:
int useFunPara(){
return 0;
}
int useFunNoPara(){
return 0;
}
};
int main(int argc,char** argv){
return 0;
}
CMakeLists.txt
cmake_minimum_required(VERSION 3.2)
PROJECT(cppUsePython)
SET(CMAKE_CXX_FLAGS "-std=c++0x")
SET (PROJECT_ROOT "${PROJECT_SOURCE_DIR}")
SET (PROJECT_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/inc")
SET (PROJECT_SOURCE_DIR "${PROJECT_SOURCE_DIR}/src")
find_package(Boost COMPONENTS filesystem system date_time thread python REQUIRED)
message("Include dirs of boost: " ${Boost_INCLUDE_DIRS} )
message("Libs of boost: " ${Boost_LIBRARIES} )
find_package(PythonLibs REQUIRED)
message("Include dirs of Python: " ${PYTHON_INCLUDE_DIRS} )
message("Libs of Python: " ${PYTHON_LIBRARIES} )
INCLUDE_DIRECTORIES(
${PROJECT_INCLUDE_DIR}
${Boost_INCLUDE_DIRS}
${PYTHON_INCLUDE_DIRS}
)
link_directories(${Boost_LIBRARY_DIRS})
link_directories(${PYTHON_LIBRARIES})
SET(SRC
/home/mozikiy/My_Files/c++AndPython/MyFun.cpp
)
add_library(MyFun SHARED ${SRC})
target_link_libraries(MyFun
${Boost_LIBRARIES}
${PYTHON_LIBRARIES}
)