不安装Python的情况下用C++调用Python
2015-05-09 16:39
821 查看
想在不安装python的情况下调用它,网上说的方法都不太详细,就连官方给的chm文件也没提及怎么配置,摸索了下,找到了简单调用的办法。记录下。
Python 2.7
libs文件夹
Lib文件夹
Python27.dll文件
上面前3个文件夹可以从其他安装好Python的根目录里取得,dll文件从system文件夹里考出来。这里打包提供下本站下载
由于没有Debug下的dll,这里只能配置release的工程;
工程-属性-VC++ Directories-Include Directories添加$(ProjectDir)python27\include
工程-属性-VC++ Directories-Library Directories添加$(ProjectDir)python27\libs
释放Python27.dll到Release目录
0.编译条件
MSVS 2010 C++ console程序Python 2.7
1.需要的文件及文件夹
include文件夹libs文件夹
Lib文件夹
Python27.dll文件
上面前3个文件夹可以从其他安装好Python的根目录里取得,dll文件从system文件夹里考出来。这里打包提供下本站下载
2.VC工程配置
新建控制台项目PyTest,解压缩上面的文件夹放在.h.cpp目录处;由于没有Debug下的dll,这里只能配置release的工程;
工程-属性-VC++ Directories-Include Directories添加$(ProjectDir)python27\include
工程-属性-VC++ Directories-Library Directories添加$(ProjectDir)python27\libs
释放Python27.dll到Release目录
3. 添加代码
[code]// PyTest.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <direct.h> #include <windows.h> #include <string.h> #include "python.h" using namespace std; int _tmain(int argc, char* argv[]) { char buffer[MAX_PATH]; _getcwd(buffer, MAX_PATH); cout<<buffer<<endl; strncat_s(buffer,"\\Python27",9);//Python模块路径 Py_SetPythonHome(buffer); Py_SetProgramName(argv[0]); /* optional but recommended */ Py_Initialize(); PyRun_SimpleString("from time import time,ctime\n" "print 'Today is',ctime(time())\n"); Py_Finalize(); system("pause"); return 0; }
4.编译连接运行得到结果
相关文章推荐
- win10之dlib安装过程(c++调用库,非python版)
- vs2010中C++调用python脚本并制作安装包
- C++调用Python(需要安装Python)
- Tips-Anaconda与Python共存情况下,包的安装及调用语言冲突问题
- C++调用Python(不安装Python)
- QT 5.6 C++调用python头文件问题
- (一)c/c++、python混合编程——c/c++调用python
- C++调用Python实例
- swig 把c/c++ 封装成python可调用的so文动态链接库
- Python笔记(一)——C/C++调用python
- python 调用 c++
- 使用Visual Studio,几步实现Python C++扩展,以及DLL调用
- python调用c/c++方式示例(修改整理)
- C++调用Python函数,获取Ping某网站的延迟时间与丢包率
- c++调用python脚本
- 用boost封装C++的库供Python调用
- python中调用c++(Boost-python)
- vs c++调用 python3.5配置
- python36 c++调用python
- python使用ctypes调用C/C++