环境搭建
2选1
1.准备32位的python和32位mingw
2.准备64位的python和64位mingw64
- 32位mingw下载地址:https://盘.百度.com/s/1Z25NxrRuOsjOKWXddTNyeg 提取码:dvgl
- 64位mingw64下载地址:https://www.onlinedown.net/soft/10045442.htm
- 能力强的也可以直接到mingw的官网下载:https://www.mingw-w64.org/
把g++.exe所在路径设为环境变量
- 以mingw64为例(32位同理)
- 解压上面下载mingw64,把里面的文件解压到你自己喜欢的路径上
搭建python环境(略)
g++和python搭建完毕就可以开始hello word!了
把c++代码编译为exe程序
- 新建一个c_call_py.cpp
#include <stdlib.h>
#include <Python.h>
int main(int argc, char *argv[]){
Py_Initialize();
PyRun_SimpleString("print('hello world')\n");
Py_Finalize();
system("pause"); // 暂停
return 0;
}
- 打开cmd(最好用管理员权限运行)
- 在cmd输入g++ c_call_py.cpp -I “自己电脑python的路径\include” -L"自己电脑python的路径/libs" -l自己电脑python的.lib -o test
- 例如我电脑python3.8就这样子输入
- g++ c_call_py.cpp -I “C:\Program Files\Python38\include” -L"C:/Program Files/Python38/libs" -lpython38 -o test
-
编译生成了test.exe
-
一路过来可能遇到的坑
- 百度搜看到的大多数都是这个命令行:g++ main.cpp -I/usr/include/python3.5 -lpython3.5m -o test
- 我卡在这里卡了很久,关于win环境的调用根本不适合这个命令
- 无法解析的外部符号 __imp_Py_Initialize …
- 原因就是mingw和python不是相同的64或32,我就是一开始32位的mingw调用64位的python导致出现这个错误
- 百度搜看到的大多数都是这个命令行:g++ main.cpp -I/usr/include/python3.5 -lpython3.5m -o test