2

Javascript に相当するものを取得するために、 BPGデコーダーをコンパイルしようとしています(はい、作成者によって既に提供されていることは知っています)。これは Emscripten を介して行われます。残念ながら、次のエラーが表示されます。

emcc -Os -Wall -MMD -fno-asynchronous-unwind-tables -fdata-sections -ffunction-sections -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_REENTRANT -I. -DCONFIG_BPG_VERSION=\"0.9.5\" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DHAVE_AV_CONFIG_H -std=c99 -D_GNU_SOURCE=1 -DUSE_VAR_BIT_DEPTH -c -o libavutil/buffer.js.o libavutil/buffer.c
In file included from libavutil/buffer.c:22:
In file included from libavutil/atomic.h:29:
libavutil/atomic_gcc.h:54:12: error: cannot compile this atomic library call yet
    return __atomic_add_fetch(ptr, inc, __ATOMIC_SEQ_CST);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
ERROR    root: compiler frontend failed to generate LLVM bitcode, halting
Makefile:202: recipe for target 'libavutil/buffer.js.o' failed
make: *** [libavutil/buffer.js.o] Error 1

それを解決する方法についてのアイデアはありますか?

4

1 に答える 1

0

この問題は、Ubuntu 14.10 に付属する Emscripten コンパイラが原因でした。私はアップグレードし、すべてが動作するようになりました:

$ ./emcc -v
emcc (Emscripten GCC-like replacement + linker emulating GNU ld ) 1.29.0
clang version 3.4

ここでの補足として、libpngの新しいバージョンも必要でした。

于 2015-02-28T18:40:05.147 に答える