试用 Adobe Alchemy

昨天查到这篇文章:Creating PDF documents with Adobe Flex on client side [url]http://eaigurus.com/blog/?p=77[/url] 介绍把 libHaru 编译为 swc 供在 Flex 生成PDF,马上下载了 Demo 挖出其 libhpdf.swc 来试用。生成 PDF 很顺利但仍然不能接受中文。我给该文作者发了个信,他回复告诉我那个swc是不支持外接字库的,他可能在几个月后再发个新的版本。当然非常感谢该作者分享了这些有用的信息。

今天想,人家对中文不了解也没有使用必要,而 libHaru 缺省时支持 CJK 的,我能不能从libHaru 的源码来编译自己的swc呢? 想做就做,先试试 Alchemy 的使用。

动手前,我参考了几篇网文,至少包括以下链接:

[url]http://labs.adobe.com/technologies/alchemy/[/url]
[url]http://labs.adobe.com/wiki/index.php/Alchemy:Documentation:Getting_Started[/url]
[url]http://www.insideria.com/2009/04/setting-up-adobe-alchemy.html[/url]

下面列出我自己的安装设置过程:

1. 下载安装 Cygwin (http://www.cygwin.com/)
下载得到一个setup.exe, 运行这个文件就开始下载,我选从 .edu 的网站下,速度挺快。而试过有个网站只有4k速度,我就马上停止了,重新运行 setup.exe 选其他的网站。
需要选下载以下包: (1) Perl 全部 (2) zip (3) gcc/g++
我还选了 (1) libpng 和 (2) zlib 这是 libHaru 所需要的。
我大概下载了 1 个小时,呵呵。下载完就自动安装。

2. 下载 Alchemy ([url]http://labs.adobe.com/downloads/alchemy.html[/url])
下载后,解压,安装到 C:\alchemySDKcygwin

3. 下载 Flex SDK ([url]http://www.adobe.com/products/flex/flexdownloads/[/url])
下载后解压,安装到 C:\FlexSDK
(注:我的电脑是已经设置好Java JDK 和 Flex 开发环境的。如果是全新的安装,则须安装 Java JDK, 设置 Java_Home 和 Flex_Home 环境变量)。

完成后,我的有关软件目录如下:

[img]http://dl.iteye.com/upload/attachment/175598/adbfe69a-b702-3d7f-acf5-c53c80a468bb.jpg[/img]

4. 现在把 Alchemy 和 Flex SDK 的路径加到 Cygwin

[img]http://dl.iteye.com/upload/attachment/175600/f59690ac-ef0e-3ebf-a7f6-439f4095484c.jpg[/img]

用一个纯文本编辑器(Editplus 或 Notepad++)打开 C:\cygwin\etc 目录下的 “profile” 文件,在 PATH 行加入 Alchemy 和 Flex SDK 的路径:

PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/cygdrive/c/FlexSDK/bin:/cygdrive/c/alchemySDKcygwin/achacks:$PATH

这里 “/cygdrive/c/ ” 就是指 C:\. 保存文件并退出编辑器。

5. 运行 config 生成 alchemy-setup 文件
启动 Cygwin 并到 alchemy 的目录 (我的是:/alchemySDKcygwin)

[img]http://dl.iteye.com/upload/attachment/175602/3eeab0a9-8a3b-3377-b382-1d5fe532ffe1.jpg[/img]

运行: $./config

将生成 alchemy-setup. 关闭 Cygwin 即可.

用纯文本编辑器打开 alchemy-setup, 修改2 行:

(1) 这行: #export ADL=/path/to/your/adl (or adl.exe)
改为: export ADL=/cygdrive/c/FlexSDK/bin/adl

(2) 这行: export ASC=$(cygpath -m -s -p $ALCHEMY_HOME/bin/asc.jar)
改为: export ASC=$ALCHEMY_HOME/bin/asc.jar

保存并退出。修改后大概是这样的:

[img]http://dl.iteye.com/upload/attachment/175604/bc5a3af3-5f88-3a57-a44d-59f899fec87d.jpg[/img]

6. 用纯文本编辑器(Editplus 或 Notepad++)打开 C:\cygwin\etc 目录下的 “profile” 文件,在 PATH 行之前加入一行source 指向 alchemy-setup, 如下:

source /cygdrive/c/alchemySDKcygwin/alchemy-setup
PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/cygdrive/c/FlexSDK/bin:/cygdrive/c/alchemySDKcygwin/achacks:$PATH
export PATH

保存文件,退出。

7. 为 llvm-stub.exe 文件建立链接:
启动 Cygwin 并到 \bin 目录下,输入:
ln –s llvm-stub llvm-stub.exe

[img]http://dl.iteye.com/upload/attachment/175608/16f33bd7-bf8b-321d-acc4-ee5a7f2ce2cc.jpg[/img]

退出 Cygwin. 这样,安装配置基本完成。

8. 试试编译
(1) 启动 Cygwin, 到源文件目录
(2) alc-on
(3) 编译 gcc 源.c -O3 -Wall -swc -0 源.swc
(4) alc-off

下图是编译 stringecho.c 的过程。

[img]http://dl.iteye.com/upload/attachment/175612/5ae3ea89-db74-3dc2-a544-c3f65498158d.jpg[/img]

可以看到 stringecho.swc 顺利生成。

要把 这个 stringecho.swc 用在 Flex 则有特定的格式,参见其示例 \as3 目录下的 EchoTest.as.

:-
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值