Python 2交叉編譯

2021-10-18 04:52:48 字數 2223 閱讀 5106

ubuntu@osubuntu:bin$ ls

arm-linux-gnueabi-addr2line arm-linux-gnueabi-cpp arm-linux-gnueabi-gcc-ar arm-linux-gnueabi-gfortran arm-linux-gnueabi-objdump arm-linux-gnueabi-strip

arm-linux-gnueabi-ar arm-linux-gnueabi-elfedit arm-linux-gnueabi-gcc-nm arm-linux-gnueabi-ld arm-linux-gnueabi-ranlib gdbserver

arm-linux-gnueabi-as arm-linux-gnueabi-g++ arm-linux-gnueabi-gcc-ranlib arm-linux-gnueabi-ld.bfd arm-linux-gnueabi-readelf runtest

arm-linux-gnueabi-c++ arm-linux-gnueabi-gcc arm-linux-gnueabi-gcov arm-linux-gnueabi-nm arm-linux-gnueabi-size

arm-linux-gnueabi-c++filt arm-linux-gnueabi-gcc-4.9.4 arm-linux-gnueabi-gdb arm-linux-gnueabi-objcopy arm-linux-gnueabi-strings

ubuntu@osubuntu:bin$ pwd

/home/ubuntu/workspace/tools/gcc-4.9-2016.02-x86_64_arm-linux-gnueabi/bin

使用pc編譯

1.mkdir build.pc

2.cd build.pc

3…/configure

4.make

在build.pc目錄下生成parser/pgen

配置交叉編譯環境

export cc=/home/ubuntu/workspace/tools/gcc-4.9-2016.02-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc

export cxx=/home/ubuntu/workspace/tools/gcc-4.9-2016.02-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-g++

交叉編譯python2.7.12

找到setup.py 注釋246 247行

#if ext.name in sys.builtin_module_names:

2.配置

./configure --prefix=$pwd/install_dmd31 --host=arm-linux --build=x86_64-linux-gnu --enable-ipv6 --enable-shared ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no

3.修改setup.py

搜尋:add_dir_to_list(self.compiler.library_dirs, 『/usr/local/lib』)

add_dir_to_list(self.compiler.include_dirs, 『/usr/local/include』)

注釋掉:

#if not cross_compiling:

在if cross_compiling:前面刪到頭,使用tab鍵對齊

5.make 和 make install

##交叉編譯zlib

編譯結果安裝路徑:/home/ubuntu/workspace/tools/other_lib/package/zlib-1.2.11/install_dmd31

./configure --prefix=$pwd/install_dmd31/ --host=arm-linux

2.解壓後進入目錄修改configure

進去6234行(6324gg)

修改:將6324行 if test 「$cross_compiling」 = no; then :中的yes改為no即可

3.配置

./config --host=arm-linux --prefix=$pwd/install_dmd31

4.make 和 make install

執行時加:

export pythonhome=$pythonhome:/system/lib/python2.7/

交叉編譯(2) 交叉編譯鏈

什麼是交叉編譯鏈 明白了什麼是交叉編譯,那我們來看看什麼是交叉編譯鏈。首先編譯過程是按照不同的子功能,依照先後順序組成的乙個複雜的流程,如下圖 那麼編譯過程包括了預處理 編譯 彙編 鏈結等功能。既然有不同的子功能,那每個子功能都是乙個單獨的工具來實現,它們合在一起形成了乙個完整的工具集。同時編譯過程...

Python 交叉編譯

情況說明 自己想要在windows 虛擬機器ubuntu18.04 中編譯python直譯器,以移植到arm平台上執行,主要目標是在arm qemu中進行執行。編譯環境 ubuntu 18.04 編譯器 gcc,arm linux gnueabi python版本 2.7.3 和 3.5.5 整個過...

python2 對URL編碼進行編譯

在請求頁面時有時會返回類似 e8 af a5985 e5 a4 a7 e5 ad a6 e5 b8 b8 e5 b9 b4 e4 bd 8d e5 b1 85 e5 9b bd e5 86 85 e5 89 8d e4 ba 的編碼方式,為url編碼,查閱資料後都沒有成功轉碼,原因是 from ur...