cython と emscripten を使用して Python から JavaScript を生成しようとしています。
hello.py
:
print 'Hello world.'
次に、cython を使用してこれを c にコンパイルします。
>>> cython --embed hello.py -v
hello.c
これにより、コンパイルするファイルが生成されます
>>> gcc hello.c -I/usr/include/python2.7/ -lpython2.7
これは gcc または clang で機能します。実行する./a.out
と、期待される出力が得られます
>>> ./a.out
>>> Hello world
hello.c
次はemscriptenを使ってjavascriptにコンパイルしたい
>>> emcc hello.c -I/usr/include/python2.7/ -lpython2.7
私は得る
>>> WARNING emcc: -I or -L of an absolute path encountered.
>>> If this is to a local system header/library, it may cause problems
>>> (local system files make sense for compiling natively on your system,
>>> but not necessarily to JavaScript)
>>> clang: warning: argument unused during compilation: '-nostdinc++'
それはまだa.out.js
node.jsで実行しようとするファイルを生成します
>>> node a.out.js
参照エラーが発生する
>>> ReferenceError: _Py_SetProgramName is not defined
生成されたjavascriptを少し変更してみましたが、基本的に全ての_Py_
関数が定義されていないと思います。
誰かがこれについて何か経験がありますか、または提案された修正はありますか?