Adobe Alchemy编译了SWC - 不确定如何为FlasCC编译库

时间:2012-12-13 13:15:34

标签: c++ flash swig alchemy flascc

我正试图让game-music-emu-flash与FlasCC合作。它使用C / C ++ Game_Music_Emu库,最初是用Alchemy编译的,但我想知道FlasCC是否有性能提升。我想使用带有类型映射的SWIG来调用库,因为当前项目ActionScript与FlasCC不兼容。我正在跟踪样本中的代码。我还没有编写类型图,但是现在我创建了swig.i作为

#ifdef SWIG
%module libgmeLibModule
%{
#include "gme/gme.h"
%}
%include "gme/gme.h"
#else
#include "gme/gme.h"
#endif

并且Makefile通过替换匹配所需的内容来密切跟踪样本。在编译期间,我在表单

中得到了类似的错误
libgmeLib_wrapper.cpp: In function `void _wrap_gme_ay_type_get()':
libgmeLib_wrapper.cpp:2575: error: invalid conversion from `const void*' to `void*'
libgmeLib_wrapper.cpp:2575: error:   initializing argument 1 of `void* memcpy(void*, const void*, size_t)'

使用

进行编译
"$(FLASCC)/usr/bin/g++" $(BASE_CFLAGS) -04 gmemain.cpp gme/*.cpp -emit-swc=sample.libgme -o libgme.swc
all:下,Makefile中的

编译没有错误。

我不太了解C ++,所以任何帮助都会受到赞赏。还可以使用SWIG和打字图去手动或手动包装有意义吗?我认为SWIG会更好,因为gme是一个体面的大小库。

1 个答案:

答案 0 :(得分:1)

一位Adobe员工帮我解决了这个问题。他甚至编写了一个演示版。 可以找到Adobe论坛帖子here,可以在gme-flascc

找到他的演示