背景:因为使用的是python版本的程序,最终要集成到C++环境的架构中,也就是说架构是c++的,交付用户为c++的接口,但是调用的是python的库,因此需要学习在c++环境下调用python。因为对python不熟悉,可以说有点一抹黑,因此从简到难逐步探索。首先在c++的工程中实现调用单个简单的python脚本(.py脚本文件),然后再调用python编译成的库(.so),最后将复杂的python“工程”编译成库,用c++写好接口被总工程可调用。使用的IDE是codeblocks。
翻看了很多博客,都是假设我们已经知道了设置操作,对我这种操作小白来说及其痛苦。翻墙的油管视频实在是太慢,国内的优酷实在没什么干货。。。遂这样拆解任务由简到难,也可以为不同的需求提供不同的方式。
1. C++调用python脚本文件
(1)配置环境
用codeblocks(后面简称CB)建立一个console的c++工程,取名叫consoleUseSo,里面只有一个main.cpp文件。
配置好Python的环境,具体配置方法请见:
https://blog.csdn.net/u014794992/article/details/52901147
总结起来基本就是:右键工程,点击build options,左栏选择最上面的工程名(不要选Debug或者Release否则得设置两遍)。我默认的编译器是GNU GCC Compiler,这个不用去管。需要设置的是:点击linker settings选项卡,在Link Libraries里面选择python的库文件路径,一般是usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.so,CB可以选择设为相对路径。完成后点击search directories选项卡,在下面的complier选项卡下,选择Python的include路径,一般为:usr/include/python2.7;然后在Linker选项卡中,选择lib路径,一般为ÿ