Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何减少交叉编译共享库的大小?_Python_Shared Libraries_Cross Platform_Zeromq_Pyzmq - Fatal编程技术网

Python 如何减少交叉编译共享库的大小?

Python 如何减少交叉编译共享库的大小?,python,shared-libraries,cross-platform,zeromq,pyzmq,Python,Shared Libraries,Cross Platform,Zeromq,Pyzmq,我正在致力于在基于ARM的处理器上安装python3.6和zmq,该处理器在闪存上有大约32MB的可用空间 我已经构建了python3.6并删除了不需要的库,我已经创建了15 MB的python安装包,它对于示例程序运行良好 我需要安装zmq来运行我的应用程序,为此,我已经按照下面的链接交叉编译了用于ARM的pyzmq (此链接适用于android,但我根据设置进行了修改) 正如所料,我已经为arm编译了以下库的列表 2.6M constants.cpython-36m-x86_64-li

我正在致力于在基于ARM的处理器上安装python3.6和zmq,该处理器在闪存上有大约32MB的可用空间

我已经构建了python3.6并删除了不需要的库,我已经创建了15 MB的python安装包,它对于示例程序运行良好

我需要安装zmq来运行我的应用程序,为此,我已经按照下面的链接交叉编译了用于ARM的pyzmq (此链接适用于android,但我根据设置进行了修改)

正如所料,我已经为arm编译了以下库的列表

2.6M    constants.cpython-36m-x86_64-linux-gnu.so
3.0M    context.cpython-36m-x86_64-linux-gnu.so
3.0M    _device.cpython-36m-x86_64-linux-gnu.so
3.0M    error.cpython-36m-x86_64-linux-gnu.so
3.1M    message.cpython-36m-x86_64-linux-gnu.so
3.1M    _poll.cpython-36m-x86_64-linux-gnu.so
3.1M    socket.cpython-36m-x86_64-linux-gnu.so
3.0M    utils.cpython-36m-x86_64-linux-gnu.so
3.0M    _version.cpython-36m-x86_64-linux-gnu.so
我需要两个问题的帮助

  • 在剥离之前,每个库的大小约为20MB。我能够将它们减少到3MB,但我需要进一步减少,以适应闪存。我在其他板上见过这些库,每个板大约50KB,因此我相信有一种方法可以减小每个库的大小。谁能告诉我,我该怎么做

  • 文件的名称未命名为arm。然而,这对我来说不是一个大问题,因为我可以手动重命名它们,但我需要知道是否可以在构建过程中更改它们。 当我在这些库上运行file命令时,我可以看到它们是为arm构建的

  • constants.cpython-36m-x86_64-linux-gnu.so:ELF 32位LSB共享 对象,ARM,EABI5版本1(SYSV),动态链接,剥离

    下面是我用于构建pyzmq的setup.cfg文件

    [global]
    # the prefix with which libzmq was configured / installed
    zmq_prefix = /home/sagar/zmq/_install
    have_sys_un_h = False
    
    [build_ext]
    libraries = python3.6
    library_dirs = /home/sagar/python_source/arm_install_with_zmq/lib
    include_dirs = /usr/include/python3.6m/
    plat-name = linux-armv
    
    [bdist_egg]
    plat-name = linux-armv
    

    提前谢谢。

    我找到了解决问题的方法。我找到了解决问题的方法。