2

我正在尝试让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

在 Makefile 本身下all:编译没有错误。

我不太了解 C++,因此不胜感激。也将使用 SWIG 和类型映射是要走的路还是手动包装有意义?我认为 SWIG 会更好,因为 gme 是一个体面的图书馆。

4

1 回答 1

1

一位 Adob​​e 工作人员帮我解决了这个问题。他甚至编写了一个演示。Adobe 论坛主题可以在这里找到,他的演示可以在gme-flascc找到

于 2012-12-19T12:10:26.023 回答