我是靠谱客的博主 快乐缘分,最近开发中收集的这篇文章主要介绍使用emcripten编译zlib为wasm安装Emscripten下载zlib编译zlib上述方法有点问题,不编译出来还是elf文件,尝试下列方法后,还是有问题,虽然可以用,但是使用inflate2时报错-2使用编译参数-s USE_ZLIB=1,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

安装Emscripten

# Get the emsdk repo
git clone https://github.com/emscripten-core/emsdk.git

# Enter that directory
cd emsdk

# Download and install the latest SDK tools.
./emsdk install latest

# Make the "latest" SDK "active" for the current user. (writes .emscripten file)
./emsdk activate latest

# Activate PATH and other environment variables in the current terminal
source ./emsdk_env.sh

下载zlib

madler/zlib: A massively spiffy yet delicately unobtrusive compression library. (github.com)

编译zlib

cd zlib
./configure
emmake make

上述方法有点问题,不编译出来还是elf文件,尝试下列方法后,还是有问题,虽然可以用,但是使用inflate2时报错-2

#!/usr/bin/env bash

PATH_ZLIB=/home/ryuukk/tmp/zlib

mkdir -p build/
cd build/

clang -c -emit-llvm --target=wasm32 -nostdlib -nostdinc -DZ_SOLO 
    -I$PATH_ZLIB          
    $PATH_ZLIB/adler32.c  
    $PATH_ZLIB/crc32.c    
    $PATH_ZLIB/deflate.c  
    $PATH_ZLIB/infback.c  
    $PATH_ZLIB/inffast.c  
    $PATH_ZLIB/inflate.c  
    $PATH_ZLIB/inftrees.c 
    $PATH_ZLIB/trees.c    
    $PATH_ZLIB/zutil.c    

llvm-link -o zlib.bc adler32.bc crc32.bc deflate.bc  infback.bc  inffast.bc  inflate.bc  inftrees.bc  trees.bc  zutil.bc

llvm-ar rv zlib.a zlib.bc

cd ../

使用编译参数-s USE_ZLIB=1

最后类似于gcc可以使用-s USE_ZLIB=1,直接编译

最后

以上就是快乐缘分为你收集整理的使用emcripten编译zlib为wasm安装Emscripten下载zlib编译zlib上述方法有点问题,不编译出来还是elf文件,尝试下列方法后,还是有问题,虽然可以用,但是使用inflate2时报错-2使用编译参数-s USE_ZLIB=1的全部内容,希望文章能够帮你解决使用emcripten编译zlib为wasm安装Emscripten下载zlib编译zlib上述方法有点问题,不编译出来还是elf文件,尝试下列方法后,还是有问题,虽然可以用,但是使用inflate2时报错-2使用编译参数-s USE_ZLIB=1所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部