日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

undefined reference to `_imp___Py_NoneStruct'

發布時間:2025/4/16 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 undefined reference to `_imp___Py_NoneStruct' 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://www.ithao123.cn/content-5989645.html


最近在搗騰Python,主要是因為Google App Engine比較誘人。
用官方的SDK,一開始裝的是2.6,然后每次都會有很多提示deprecated,發現2.6對2.5的更新比較大,而且貌似在我機器上記不住用戶名和密碼。由于本人密碼有點復雜,于是就去找了個2.5來裝。
CPython官方的已經沒有提供直接渠道來下載2.5的MSI文件了(2010.10.31更新,官方可以下載到2.5.4版本,http://www.python.org/download/releases/2.5.4/),于是用了ActivePython,但接下來按網上的教程(這篇和這篇)安裝時每次編譯都報錯。
教程的步驟是
1、先安裝MinGW,注意把安裝目錄的bin目錄加入到系統的path常量中
2、再去下載安裝openssl和libgw32c并解壓到MinGW的文件夾里
3、下載Python 2.5的SSL模塊的源代碼。把setup.py里第152行的地址從C:GnuWin32改為你安裝MinGW的地址
4、如果機器上同時安裝有Visual Studio 2003,可能需要強制使用MinGW編譯。在Python安裝文件夾的Libdistutils目錄里新建一個文件distutils.cfg,在里面填入

[build] compiler=mingw32
或者在下一步啟動編譯時傳入一個
-c mingw32參數強制指定MinGW
5、運行setup.py install即可,有上一步的強制則是setup.py install -c mingw32

但我始終在最后一步的編譯過程中報錯,提示很多類似undefined reference to `_imp___Py_NoneStruct'的錯誤。Google搜索后發現原來是ActivePython自帶的文件有問題(鏈接),本來應該有的libpython25.a不存在了,還好有教程可以自己重新生成一個。
1、找到python25.dll(一般是在system32文件夾里)
2、列出函數導出表,建議用pexport(鏈接1,鏈接2)
3、運行pexports.exe python25.dll > python25.def
4、運行dlltool --dllname python25.dll --def python 25.def --output-lib libpython25.a生成文件
5、最后復制到Python的libs文件夾里即可

再重新setup.py install即可成功安裝
在Python中import ssl一下看看是不是沒報錯了~~

總結

以上是生活随笔為你收集整理的undefined reference to `_imp___Py_NoneStruct'的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。