我是靠谱客的博主 狂野指甲油,最近开发中收集的这篇文章主要介绍ubuntu c++ 调用 python,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

环境 ubuntu16.04

因为手头上的工作需要用到c++与python的交互,所以写下这个博客.

1.c++

1.1 test.cpp

#include <Python.h>
int main(int argc, char *argv[]) {
Py_Initialize();
//判断初始化是否成功
if(!Py_IsInitialized())
{
printf("Python init failed!n");
return -1;
}
PyRun_SimpleString("import sys");
//PyRun_SimpleString("sys.path.append('./')");//若python文件在c++工程下
// 添加python文件所在的位置
PyRun_SimpleString("sys.path.append('/home/jinye/projects/D3Feat')");
PyObject* pModule = NULL;
PyObject* pFunc = NULL;
//导入python文件
pModule = PyImport_ImportModule("forcpp");
if (!pModule) {
printf("Can not open python file!n");
return -1;
}
pFunc = PyObject_GetAttrString(pModule, "printHello");
//PyEval_CallObject(pFunc, NULL);
PyObject_CallObject(pFunc, NULL);
Py_DECREF(pFunc);
Py_DECREF(pModule);
Py_Finalize();
return 0;
}

1.2 CMakeLists.txt

cmake_minimum_required(VERSION 2.8)
project(python_test)
include_directories(
/usr/include/python2.7
)
add_executable(test
test.cpp)
target_link_libraries(test
/usr/lib/x86_64-linux-gnu/libpython2.7.so
)

2.python

import sys
def printHello():
print(sys.version)
print("hello world!")

这里,还把python的版本号打印出来了.

3.结尾

在这里插入图片描述
现在用的还是系统带的python2.7版本,因为想用conda环境的python版本,修改头文件和库文件遇到了问题,尴尬…
修改好了!可以参看这篇博客
ubuntu c++ 调用 conda的python虚拟环境

参考
https://www.cnblogs.com/Pan-Z/p/7126630.html

最后

以上就是狂野指甲油为你收集整理的ubuntu c++ 调用 python的全部内容,希望文章能够帮你解决ubuntu c++ 调用 python所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部