静态编译python为静态库嵌入到C++中
1、下载 python2.7.6版本源代码(http://www.python.org/ftp/python/2.7.6/)
2、解压到Python-2.7.6文件夹
3、进入Python-2.7.6\PC\VS8.0文件夹,用Microsoft Visual Studio 2010打开解决方案 pcbuild.sln
4、切换到Release模式
5、更改C/C++—代码生成—运行库:多线程(/MT)
6、更改配置属性—配置类型:静态库(.lib)
7、更改配置属性—目标文件名:bin\python27.lib
8、在pythoncore中添加Modules文件夹中的getbuildinfo.c文件
9、打开PC文件夹中dl_nt.c文件,删除第14行的#ifdef Py_ENABLE_SHARED和第106行的#endif /* Py_ENABLE_SHARED */
10、先分别编译make_buildinfo和make_versioninfo,再编译pythoncore生成python27.lib
11、在Python-2.7.6文件夹下建立一个空的新解决方案pythonTest.sln
12、添加一个文件main.cpp
内容如下
#include <python.h>
#include <stdio.h>
int main()
{
Py_Initialize();
PyRun_SimpleString("print '\\nPython静态库编译成功!'");
Py_Finalize();
getchar();
return 0;
}
13、配置pythonTest工程
① 在C/C++项的附加包含目录中添加:..\..\Include和..\..\PC两个目录
② C/C++—预处理器—预处理器定义中添加一个宏: Py_NO_ENABLE_SHARED
③ 更改C/C++—代码生成—运行库:多线程(/MT)
④ 设置链接器—附加库目录中添加:..\..\\PC\VS8.0\bin目录
⑤ 设置链接器—输入—附加依赖项:python27.lib
14、执行编译,生成 exe文件为:pythonTest.exe
成功!!!!!!!!!!!!!!!!!!!!!
相关推荐
自己写的helloworld程序,从最简单c++中调用python函数,捕捉python出错到c++类封装python类的方法都有。
c++嵌入python,举例,基于vs2003
首先,将C++下的代码编译为动态库,并将生成的动态库命名为封装模块的名字,如:用BOOST_PYTHON_MODULE(Module_Name)宏对需要导出的函数、全局变量、类等导入Python的Module_Name模块,此时生成的动态库需要更名为...
C#调用C++,C++调用Python并传参,包括C++向python传递图片数据,C++向python传递组数据,C++向python传递字符串数据,C++向python传递结构体数据,C++初始化python类数据并调用方法,实际案例,能直接运行,需要安装...
arm平台下使用ndk工具交叉编译python,用于android系统;android-arm平台ndk交叉编译python
Python中调用C++dll例子,使用python中的ctypes。
python库和其第三方库,在嵌入式linux操作系统上交叉编译的步骤
在我们写的源文件中增加“Python.h”头文件,并且链入“python**.lib”库(还没搞清楚这个库时静态库还是导出库,需要搞清楚) 掌握和了解一些python的C语言api,以便在我们的c++程序中使用 常用的一些C API函数...
这个例子示范了如何从C++中导出一个类到Python。轻松的扩展Python模块!
在windows下用MinGW编译python源代码需要对代码做一些简单的修改,本文列举了修改方法,并详细的讲解编译过程中会遇到的问题。
C/C++嵌入Python脚本文件实例,以及在实现的过程中遇到的问题以及解决方法。
使用c++调用Python中的函数并返回数据,部分代码参考自网络。
C++ 标准库 python标准库 投入一点 收入多多 。。。。。
使用python调用c++动态库的演示工程, 包含回调函数, 供初学者学习
C++ 封装的python类,简化了python接口调用,可快速上手并使用,接口可调用python脚本以及文件,也可直接调用python的函数接口,并获得返回值
我想做一个最小二乘法正太拟合曲线,网上都是python调用matlab进行拟合,我想用C++拟合曲线,发现网上有开源库GSL也有计算方法;这工程就是用VS2019编译的GSL动态库,测试项目中包括GSL生成的动态库静态库。
QT 5.14.2 静态编译好的目录打包,包含所有的lib、bin、include、plugin目录等。 编译真的很麻烦,我打包好了,需要的拿去吧! 使用方法:把目录解压,在Qt vs tools里面配置一下路径就可以使用了 注: MTd方式,...
我们将使用 Python 3.7 和 C++,并利用 numpy 数组格式接收 Python 侧的两幅图像,并利用 g2o 进行 BA 优化,最后将优化结果以 numpy 数组形式返回 Python。对应博文《C++加持让python程序插上翅膀——利用pybind11...
Win10X64 下 VS2017 编译的X64位 Caffe, 静态编译,MT,无任何dll,无需VS运行库,支持Python caffe.exe classification.exe compute_image_mean.exe convert_cifar_data.exe convert_imageset.exe convert_mnist_...
ECS:Python (Embedded C++ Scripting with Python) 是一个简单的 Python 包装库,专为希望将 Python 脚本添加到新/现有 C++ 项目的 C++ 开发人员设计。 ECS:Python 允许您将对象从 C++ 应用程序公开到嵌入式 Python ...