本次分享使用的是 32 位 mingw,32 位 python3.7。
错误1:undefined reference to '_imp__Py_Initialize':
报错原因:没有使用 32 位的 python37.lib 或者是没有在编译的时候引用 python37.lib,如果当前的 mingw 是 32 位的,那么 python 就用 32 位的。
错误2:ld.exe: cannot find -lpython37.lib:
报错原因:没有正确引用 python37.lib 或者没有 python37.lib 这个文件,应该直接使用 -lpython37,不要 .lib后缀。
解决错误1和2:
1、使用 32 位的 python。 2、在项目编译时加上引用、连接上所需的文件(详看下面第二节):编译时加上命令:-LC:/Python37-32/libs/(plthon37.lib所在路径),-lpython37(python37.lib)
错误3:应用程序无法正常启动0xc000007b
报错原因:没有使用 32 位的 python,(也可能环境变量中32位的被前面的覆盖了)
错误4:找不到 ibgcc_s_dw2-1.dll:
报错原因:mingw32/bin目录下没有这个库。
解决错误3和4:
1、环境变量一定是32位的mingw下的mingw32下的bin,检查有没有被覆盖,我就是这样被坑了好久。(如:C:\MinGW\mingw32\bin\) 2、其次将 MinGW\bin\ 目录下的 libgcc_s_dw2-1.dll 文件复制到 MinGW\mingw32\bin\ 中。粗暴但是好用。
错误5:Permission denied:
报错原因:程序正在运行,在任务管理器中把运行的 .exe 程序关掉就好。
1、下载 pyDev:
点击:Help -> Install New Software -> Add。在弹出的窗口中填写内容:Name:PyDev,Location:http://pydev.org/updates,点击Add。随后选中 PyDev 并下载。如果上面这个网址不好使的话可以换成下面这个试试看:https://dl.bintray.com/fabioz/pydev/old/。
2、配置 python 解释器:
点击:Window -> Preferences -> PyDev -> Interpreters -> Python Interpreter;在右边 Browse for python 按钮中选中本地 python 目录下的 python.exe,点击Apply and Close。
3、设置编译选项
右键当前项目 -> Properties -> C/C++ General -> paths and symbols,在右边 Includes 中点击 Add 加入 \Python37-32\include 和 \Python37-32\libs,另外在 Libraries 选项卡下点击 Add 加入 python37目录,在 library Paths 选项卡下点击 Add 加入 \Python37-32\libs 目录,点击Apply and Close:
4、编译当前项目,运行相应python程序。
以上是本次分享全部内容!
我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!
邀请人:千万别过来
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。