Emscriptenを正常にインストールし、Ubuntu 16.04仮想マシンで実行しています。私もhelloworld.cファイルをWebアセンブリに変換しました。現在、私はpythonをemscriptenでWebアセンブリに変換しようとしています。問題はemscriptenが現在Pythonをサポートしていないことです。そのため、回避策としてPythonコードをCythonでCに変換しようとしました。これは正常に実行されました。 cythonのcファイルをWebアセンブリに変換しようとするとエラーが発生します。 pyport.hによれば、このエラーが原因で、それは私は、この行をコメントアウトする試みた32なければならない場合、いくつかの32ビットシステムLONG_BITを64として誤って定義されて生成されるCコードをWebアセンブリに変換する際のエラー
$emcc pony_gp.c -o pony_gp.html
In file included from pony_gp.c:11:
In file included from /usr/include/python2.7/Python.h:58:
/usr/include/python2.7/pyport.h:886:2: error: "LONG_BIT definition appears
wrong for platform (bad gcc/glibc config?)."
#error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
ERROR:root:compiler frontend failed to generate LLVM bitcode, halting
、しかし:ここでコンソール・ログでありますこれは、プログラムが静かに、Webアセンブリコードを生成せずに、最終的にはhtmlとjavascriptだけを実行することを可能にしました。
here私は「cmakeがpython dylibの1つのバージョンと別のバージョンのpythonをヘッダに取り込んでいる」ために問題があると読んでいます。これは、Python 2.7.13-1がpython-devパッケージと互換性がないため、最近Python 2.7.13-1からPython 2.7.11-1にダウングレードしたので意味があります。しかし、私はこれをどのように修正するのか分かりません。
誰が何をすべきか考えていますか?生成され、その後、
source ~/emsdk/emsdk_env.sh
cython hello.py
clang `python2-config --cflags` -S -emit-llvm hello.c
:
あなたはPythonコードとcythonに変換するためのステップを投稿するならば、それは参考になります。そうすれば、答えを得る機会が増えます。 –