守望者--AIR技术交流

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: ANE FlasCC 炼金术
查看: 2964|回复: 1

[基础入门] Crossbridge 編譯後運行 Sample 1 HelloWorld

[复制链接]
  • TA的每日心情
    擦汗
    2018-4-10 15:18
  • 签到天数: 447 天

    [LV.9]以坛为家II

    1742

    主题

    2094

    帖子

    13万

    积分

    超级版主

    Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

    威望
    562
    贡献
    29
    金币
    52691
    钢镚
    1422

    开源英雄守望者

    发表于 2014-12-31 21:15:39 | 显示全部楼层 |阅读模式
    Crossbridge = FlasCC = Alchemy

    接續上帖初探 Alchemy 之下載篇下載完Crossbridge後。還要記得安裝Java 64位元(用32位元也可以,但是因為記憶體的問題,所以編譯時要多輸入-jvmopt=-Xmx1G和下載Flex_sdk_4.6。這邊假定已經安裝好Java 32位元,且有D:/Crossbridge_1.0.1和D:/flex_sdk_4.6這兩個資料夾。






    到D:/Crossbridge_1.0.1,雙擊run.bat,出現下圖,即表示正確




    ~~~ FlasCC SDK Cygwin Environment ~~~

    To compile the samples type the following command <replace the FLEX variable with the real path to your flex sdk>:
    make FLASCC="/cygdrive/d/CrossBridge_1.0.1/sdk" FLEX="/path/to/flexsdk"

    niauwu /cydrive/d/Crossbridge_1.0.1/samples
    $

    這段文字的意思是,要編譯範例,請輸入以下指令 <記得替換FLEX的路徑變數為實際的flex sdk路徑>:
    目前所在的資料夾是d/Crossbridge_1.0.1/samples。
    在$輸入cd 01_HelloWorld
    就會跳到d/Crossbridge_1.0.1/samples/01_HelloWorld資料夾




    在$輸入make FLASCC="/cygdrive/d/Crossbridge_1.0.1/sdk" FLEX="/cygdrive/d/flex_sdk_4.6"
    輸入時要一字不差,不過[size=14.3999996185303px]"可以不用打,尤其FLASCC和FLEX要注意用大寫。不然會出現以下提示,說無法定位FLASCC sdk目錄,請調用make "make FLASCC=/path/to/FLASCC/sdk ...",原來是cydrive少打了個g,cygdrive,而且sdk/應為sdk",還有4.6應為4.6"




    是否覺得這樣太麻煩了,而且還會不小心打錯,其實只要到D:\Crossbridge_1.0.1\samples開啟Makefile.common把FLASCC:=X改成FLASCC:=/cygdrive/d/Crossbridge_1.0.1/sdk,FLEX:=X改成FLEX:=/cygdrive/d/flex_sdk_4.6




    即可直接輸入make編譯




    輸入make後,出現以下新的錯誤




    -------- Sample 1 --------
    First let's compile it as a projector: 首先讓我們編譯其為專案器:
    "/cygdrive/d/Crossbridge_1.0.1/sdk/usr/bin/gcc" -Werror -Wno-write-strings -Wno-trigraphs hello.c -o hello.exe
    cc1: error in backend 後端錯誤: Fail to run 無法運行 /cygdrive/d/Crossbridge_1.0.1/sdk/usr/bin/../../usr/bin/llc with arg: -jvm=C:\Windows\system32\java -filetype=obj D:\Crossbridge_1.0.1\cygwin\tmp\cc2EjQzm.o -o D:\Crossbridge_1.0.1\cygwin\tmp\cc2EjQzm.o -jvmopt -Xmx1500M
    Error:
    LLVM ERROR: Error: Unable to launch the Java Virthal Machine. 錯誤: 啟動 Java 虛擬機
    This usually means you have a 32bit JVM installed or have set your Java heap size too large.
    這通常表示你安裝了 32 位元的 JVM 或者設定的 Java 堆太大了。
    Try lowering the Java heap size by passing "-jvmopt=-Xmx1G" to gcc/g++.
    試試將低 Java 堆大小,藉由傳遞 "-jvmopt=-Xmx1G" 到 gcc/g++。
    Stack dump 堆棧傾印 :
    0.         Program arguments: D:\Crossbridge_1.0.1\sdk\usr\btn\llc.exe -jvm=C:\Windows\system32\java -filetype=obj D:\Crossbrige_1.0.1\cygwin\tmp\cc2EjQzm.o -o D:\Crossbridge_1.0.1\cygwin\tmp\cc2EjQzm.o -jvmopt -Xmx1500M
    1.         Running pass 'Function Pass Manager' on module 'D:\Crossbridge_1.0.1\cygwin\tmp\cc2EjQzm.o' .

    Makefile:2: recipe for target 'T01' failed 給目標'T01'的命令失敗
    make: *** [T01] Error 1 編譯時有1個錯誤

    會出現以上錯誤是因為裝了 32 位元的 Java,解決方法是裝 64 位元的 Java,因為範例中有些需要用大的記憶體,不過如果不裝 64 位元的 Java 也可以,只要傳遞 -jvmopt=-Xmx1G,設定記憶體大小1G即可正常編譯。

    用notepad++開啟位於D:\Crossbridge_1.0.1\samples\01_HelloWorld的Makefile
    在第4行和第7行後面輸入 -jvmopt=-Xmx1G




    輸入make 即可編譯成功,依據電腦的效能,可能要等數秒到數分鐘,當然 sample 1 比較簡單,所以一下就好了。




    到D:\Crossbridge_1.0.1\samples\01_HelloWorld執行hello.swf




    如果很好奇的運行hello.exe,會發現hello.exe - 系統錯誤,無法啟動程式,因為您的電腦遺失 cygwin1.dll。請嘗試重新安裝以修正這個問題。




    只要把hello.exe放到D:\Crossbridge_1.0.1\cygwin\bin,就可以運行正常hello.exe,但是會一閃而過。(拍這張一閃而過得圖好辛苦阿)




    或者也可以直接輸入./Hello.exe




    仔細看一下hello.c的內容,代碼很簡單,就是在main函數用printf方法顯示Hello World,剩下的就是一些license
    1. #include <stdio.h>

    2. int main(int argc, char **argv)
    3. {
    4.     printf("Hello World\n");
    5. }
    复制代码
    參考資料
    ALCHEMY 2 (FLASCC)新手入门
    http://www.qkeye.com/thread-163331-1-1.html

    FlasCC安装和配置指南
    http://bbs.9ria.com/thread-166310-1-1.html

    FlasCC Tutorial #1: Getting Started with FlasCC
    http://flascc.blogspot.tw/2013/0 ... g-started-with.html

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    守望者AIR技术交流社区(www.airmyth.com)
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2018-4-10 15:18
  • 签到天数: 447 天

    [LV.9]以坛为家II

    1742

    主题

    2094

    帖子

    13万

    积分

    超级版主

    Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

    威望
    562
    贡献
    29
    金币
    52691
    钢镚
    1422

    开源英雄守望者

     楼主| 发表于 2015-1-4 17:53:53 | 显示全部楼层
    守望者AIR技术交流社区(www.airmyth.com)
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    
    关闭

    站长推荐上一条 /4 下一条

    QQ|手机版|Archiver|网站地图|小黑屋|守望者 ( 京ICP备14061876号

    GMT+8, 2024-4-18 21:36 , Processed in 0.062395 second(s), 33 queries .

    守望者AIR

    守望者AIR技术交流社区

    本站成立于 2014年12月31日

    快速回复 返回顶部 返回列表