VS2013編譯python原始碼

2021-09-22 17:17:33 字數 779 閱讀 4217

系統:win10

手頭有個python模組,是用c寫的,想編譯安裝就需要讓python呼叫c編譯器。直接編譯發現使用的是vc9編譯,不支援c99標準(兩個槽點:為啥vs2008都還不支援c99?手頭這個c**為啥不好好寫?)

anyway,此時兩個想法,乙個是改c原始碼,另乙個是自行用vs2013編譯乙個python。事後證明第乙個想法簡單容易。。第二個想法實際試過之後,感覺難度很大,水很深,最後也沒有淌出這渾水,簡單記錄下過程。

==== 分割線 ====

因為現在(2023年11月4日)python2.7在windows下的安裝包,無論是直接python27.exe還是anaconda2安裝的python,都是用vc9(vs2008)編譯的。(python沒啥神秘的,不妨簡單認為python就是乙個用c/c++寫的乙個專案,就像opencv這種)。

但是現在都2016了,為什麼還要用vs2008來編譯呢?手頭要編譯的乙個python模組,其c**需要c99支援,vs2013才開始支援c99,vs2015又過於巨無霸,那就用vs2013編譯乙個python呢?

編譯雙擊開啟pcbuild\pcbuild.sln

注意選擇x64 release模式

呃,這裡就各種問題了

比如nmake找不到,這需要手動新增到path再重開vs

再比如tcl.h等標頭檔案找不到,怎麼會找不到呢,明明在externals目錄中好不好。需要手動新增

... 最後發現tcl, tk, tix,_tkinter這4個專案,死活編譯不出來,真是掃興。當然如果只是要用python,那應該已經編譯好了。

vs2013編譯ffmpeg總結

ffmpeg官網上有vs編譯ffmeg的教程,主要的流程就是根據官網上給出的教程一步步編譯,但是在編譯過程中遇到了很多的坑,所以把自己遇到的一些坑寫出來讓其他的人少走彎路。1.搭建mingw 2.yasm安裝.這裡是乙個大坑,在yasm官網上有乙個vs版本的yasm,不要用那個,就直接普通的yasm...

python在vs2013下的編譯

python在vs2013下的編譯 使用vs的工具來編譯python,能夠享受vs除錯的便利性。從目前的體驗來看,老版本甚至當前的python2系列,都未能及時趕上vs的進度。儘管如此,在利用vs自帶的版本工程檔案upgrade功能,也能夠完全滿足編譯python和pythoncore以及其他一些m...

Vs2013編譯Boost asio時出現的錯誤

error lnk2019 無法解析的外部符號 class boost system error category const cdecl boost system system category void system category system boost yaabverror catego...