我正试图让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是一个体面的大小库。