1

emscriptenをセットアップしようとしています。だから、私はこの指示に従いました。

To use Emscripten and complete this tutorial, you need a few things:

    The Emscripten code, from github (git clone git://github.com/kripken/emscripten.git. The master branch is fine, it is guaranteed to always be stable. We merge to master only after all tests pass.)
    LLVM with Clang. Version 3.2 is the officially supported version, others may not work. There are official clang binaries that include LLVM for some platforms, if yours is not there then you should get the LLVM and Clang sources and build them.
    Node.js (0.8 or above)
    Python 2.7.3

この行でバージョンを確認しました:

node --version->v0.10.15

python --version->Python 2.7.3

LLVM と Clang はインストールされていません。だから、私はこの方法でそれらをインストールします:

sudo add-apt-repository ppa:kxstudio-team/builds
sudo apt-get update
sudo apt-get install llvm clang

次に、それらのバージョンを確認しています。

llvm-config --version->3.2

clang --version->

Ubuntu clang version 3.2-1~exp9ubuntu1~precise1 (tags/RELEASE_32/final) (based on LLVM 3.2)
Target: i386-pc-linux-gnu
Thread model: posix

次に、次のコマンドで emscripten をダウンロードします。

git clone git://github.com/kripken/emscripten.git ~/emscripten(チュートリアルでは次のように)

emscripten ディレクトリに入る:cd ~/emscripten

また、私はこれに従いました:

Before continuing, it's a good idea to make sure the requirements work. Try

clang tests/hello_world.cpp
./a.out

(Add the path to clang if it isn't installed systemwide.) That uses Clang and LLVM to compile a "hello world" app and run it. The second command there should print "hello, world!". Then, test Node.js with

node tests/hello_world.js

which should also print out "hello, world!". (As before, add the path to node if it isn't installed systemwide.)

出力はhello, world!両方のコマンドにあります。

次に、最初に emcc を起動します。

./emcc(チュートリアルでは次のように)

出力:

==============================================================================
Welcome to Emscripten!

This is the first time any of the Emscripten tools has been run.

A settings file has been copied to ~/.emscripten, at absolute path: /home/<my-user-name>/.emscripten

It contains our best guesses for the important paths, which are:

  LLVM_ROOT       = /usr/bin
  PYTHON          = /usr/bin/python2
  NODE_JS         = /usr/bin/node
  EMSCRIPTEN_ROOT = /home/<my-user-name>/emscripten

Please edit the file if any of those are incorrect.

This command will now exit. When you are done editing those paths, re-run it.
==============================================================================

これらのパスをチェックして、それらが正しいことを確認します。

/usr/bin/python2 --version->Python 2.7.3

/usr/bin/node --version->v0.10.15

/usr/bin/llvm-config --version->3.2

大丈夫そうです。ここで、チュートリアルから例をコンパイルしてみます。

構築例 1:

./emcc tests/hello_world.cpp

出力: '' (何もない) 実行例 1:

node a.out.js

出力:hello, world!

ビルド例 2 (HTML の生成):

./emcc tests/hello_world_sdl.cpp -o hello.html

出力:

Traceback (most recent call last):
  File "./emcc", line 1428, in <module>
    libfile = shared.Cache.get(name, create)
  File "/home/<my-user-name>/emscripten/tools/cache.py", line 37, in get
    shutil.copyfile(creator(), cachename)
  File "./emcc", line 1234, in create_libc
    return build_libc('libc.bc', libc_files)
  File "./emcc", line 1204, in build_libc
    shared.Building.link(o_s, in_temp(lib_filename))
  File "/home/<my-user-name>/emscripten/tools/shared.py", line 891, in link
    if Building.is_bitcode(f):
  File "/home/<my-user-name>/emscripten/tools/shared.py", line 1272, in is_bitcode
    b = open(filename, 'r').read(4)
IOError: [Errno 2] No such file or directory: '/tmp/tmphG0_UZ/dlmalloc.c.o'

「hello.html」が作成されていません! 私が間違っていることは何ですか?

追加情報:

uname -a

Linux <name-of-my-system> 3.2.0-29-generic-pae #46-Ubuntu SMP Fri Jul 27 17:25:43 UTC 2012 i686 athlon i386 GNU/Linux

これを Google で検索しましたが、解決策が役に立ちません。(より多くの異なるエラーとより多くの苦痛)

4

1 に答える 1

0

これは、ここで報告されている問題と非常によく似ています: https://github.com/kripken/emscripten/issues/1432

于 2013-08-15T09:36:53.720 に答える