zoukankan      html  css  js  c++  java
  • mingw 搭建Emscripten 环境

    mingw 环境的搭建可以参考网上很多文章,不复杂。但在搭建Emscripten 环境之前需要配置git 和python 和MSbuild.exe 还需要安装camke 默认安装之后应该是添加了

    系统环境变量,如果mingw内无法使用cmake的话可以手动设置profile 文件

    下面是mingw的profile文件的手动添加的几项备注一下:

    if [ $MSYSTEM == MINGW32 ]; then
      export PATH=".:/usr/local/bin:/mingw/bin:/bin:/python:$PATH"
    else
      export PATH=".:/usr/local/bin:/bin:/mingw/bin:/python:$PATH"
    fi
    
    export PATH="/c/Program Files/Git/bin:${PATH}"
    export PATH="/c/Program Files/Git/mingw64/libexec/git-core:${PATH}"
    
    export PATH="/c/Program Files/CMake/bin:${PATH}"
    export PATH="/c/Program Files (x86)/MSBuild/12.0/Bin/amd64:${PATH}"

    python的环境需要在设置一下fstab 的配置如下:

    #Win32_Path        Mount_Point
    C:/MinGW        /mingw
    C:/Python27             /python

    profile的添加的几项都是它们安装的路径 格式如上。

    -----------------------------------------------------------------------------

    下面开始搭建Emscripten 环境。

    Emscripten 对应git:https://github.com/juj/emsdk

    Emscripten 官网:http://kripken.github.io/emscripten-site/docs/getting_started/downloads.html

    官网上面也有相应的各平台环境搭建的介绍。

    打开mingw 然后下载emscripten的sdk:

    git clone https://github.com/juj/emsdk.git
    cd emsdk

    编译安装:

    emsdk install --build=Release sdk-incoming-64bit binaryen-master-64bit

    继续:

    ./emsdk activate --build=Release sdk-incoming-64bit binaryen-master-64bit

    然后:

    # on Linux or Mac OS X
    source ./emsdk_env.sh
    
    # on Windows
    emsdk_env.bat

    注意,最后一行非常重要。每次重新登陆或者新建 Shell 窗口,都要执行一次这行命令source ./emsdk_env.sh

    其中编译安装的可能会报错,如果电脑本机没有安装vs2015的话,会有问题,Emsdk最新可以支持vs2017 

    所以避免vs版本错误的话,比如本机安装的最高vs版本为2013 在编译的时候需要指定vs版本,这样就不会报vs的错误了

    如下:

    emsdk install --build=Release sdk-incoming-64bit binaryen-master-64bit --vs2013

    如果没什么错误的话,可以试着编译一个hello world

    首先,新建一个最简单的 C++ 程序hello.cc

    #include <iostream>
    
    int main() {
      std::cout << "Hello World!" << std::endl;
    }

    然后,将这个程序转成 asm.js。

    $ emcc hello.cc
    $ node a.out.js
    Hello World!

    上面代码中,emcc命令用于编译源码,默认生成a.out.js。使用 Node 执行a.out.js,就会在命令行输出 Hello World。

    注意,asm.js 默认自动执行main函数。

    emcc是 Emscripten 的编译命令。它的用法非常简单。

    # 生成 a.out.js
    $ emcc hello.c
    
    # 生成 hello.js
    $ emcc hello.c -o hello.js
    
    # 生成 hello.html 和 hello.js
    $ emcc hello.c -o hello.html

    参考:

    http://www.ruanyifeng.com/blog/2017/09/asmjs_emscripten.html

    https://developer.mozilla.org/zh-CN/docs/WebAssembly/C_to_wasm

    https://github.com/juj/emsdk

    一个媒体库web-dsp

    https://github.com/shamadee/web-dsp

  • 相关阅读:
    使用HTTP协下载文件
    DNS协议 实践
    操作系统学习笔记 线程
    操作系统学习笔记 进程
    操作系统学习笔记 操作系统概述
    操作系统学习笔记 栈
    操作系统学习笔记 概述
    C语言中的fread和fwrite
    【原】python-jenkins信息
    【转】通过python调用jenkins 常用api操作
  • 原文地址:https://www.cnblogs.com/wainiwann/p/9543503.html
Copyright © 2011-2022 走看看