我正在尝试使用 Adobe Alchemy 移植 FLAC 编码器以在 Flash 中使用,但无法弄清楚问题出在哪里。
我在 Windows 上使用 Alchemy for Cygwin。它已正确安装和配置。
以下是我为了移植 FLAC 编码器而遵循的步骤:
- 下载最新版本的 FLAC 源码 (1.2.1)
./configure --enable-static=true --enable-shared=false
在启用炼金术的情况下配置 FLAC 源( )(alc-on
在配置之前)- 在启用炼金术的情况下编译 libFLAC(
make
在 src/libFLAC 文件夹中) - 将头文件和编译的静态库 (libFLAC.a) 复制到 alchemy 文件夹(分别为 ${ACLHEMY_HOME}/usr/local/include 和 ${ACLHEMY_HOME}/usr/local/lib)
- 最后,以这种方式编译 SWC:
或(无论如何)
gcc encodeflac.c -O3 -Wall -swc -lFLAC -o encodeflac.swc
gcc encodeflac.c -O3 -Wall -swc -lflac -o encodeflac.swc
encodeflac.c 是 FLAC 源 (examples/c/encode/file/main.c) 中包含的示例的修改版本,用于与 ActionScript ByteArrays 一起使用。
swc 将在没有警告或错误的情况下编译。但是最终的 swc 大小只有 85kb,而静态库大小(libFLAC.a)大约是 1mb!此外,编码不起作用。尝试在AS中使用时出现以下错误:
是否表示swc中不包含静态库?为什么?
[Fault] exception, information=Undefined sym: FLAC_stream_encoder_new
提前致谢。