2012-07-19 73 views
0

我試圖使用Adobe Alchemy編譯C++代碼到SWC。一開始它的工作pertty不錯,但是當我添加更多的C++代碼,不幸的是,它讓鏈接最終產生一個鏈接時錯誤:鍊金術linke錯誤:「java.lang.OutOfMemoryError:Java堆空間」

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 
at java.util.Arrays.copyOfRange(Arrays.java:3209) 
at java.lang.String.<init>(String.java:215) 
at java.lang.StringBuilder.toString(StringBuilder.java:430) 
at macromedia.asc.parser.Scanner.nexttoken(Scanner.java:657) 
at macromedia.asc.parser.Parser.getNextToken(Parser.java:673) 
at macromedia.asc.parser.Parser.lookahead(Parser.java:631) 
at macromedia.asc.parser.Parser.match(Parser.java:434) 
at macromedia.asc.parser.Parser.parseAsmDirective(Parser.java:5128) 
at macromedia.asc.parser.Parser.parseAsmStatementOrExpr(Parser.java:4949) 
at macromedia.asc.parser.Parser.parseAsmStatement(Parser.java:4927) 
at macromedia.asc.parser.Parser.parseStatement(Parser.java:4211) 
at macromedia.asc.parser.Parser.parseAnnotatedDirectiveOrStatement(Parser.java:5645) 
at macromedia.asc.parser.Parser.parseDirective(Parser.java:5594) 
at macromedia.asc.parser.Parser.parseDirectives(Parser.java:5985) 
at macromedia.asc.parser.Parser.parseBlock(Parser.java:4411) 
at macromedia.asc.parser.Parser.parseBlock(Parser.java:4397) 
at macromedia.asc.parser.Parser.parseFunctionCommon(Parser.java:1631) 
at macromedia.asc.parser.Parser.parseFunctionDefinition(Parser.java:6898) 
at macromedia.asc.parser.Parser.parseAnnotatableDirectiveOrPragmaOrInclude(Parser.java:5916) 
at macromedia.asc.parser.Parser.parseAnnotatedDirectiveOrStatement(Parser.java:5712) 
at macromedia.asc.parser.Parser.parseDirective(Parser.java:5594) 
at macromedia.asc.parser.Parser.parseDirectives(Parser.java:5985) 
at macromedia.asc.parser.Parser.parseBlock(Parser.java:4411) 
at macromedia.asc.parser.Parser.parseBlock(Parser.java:4397) 
at macromedia.asc.parser.Parser.parseClassDefinition(Parser.java:7542) 
at macromedia.asc.parser.Parser.parseAnnotatableDirectiveOrPragmaOrInclude(Parser.java:5920) 
at macromedia.asc.parser.Parser.parseAnnotatedDirectiveOrStatement(Parser.java:5712) 
at macromedia.asc.parser.Parser.parseDirective(Parser.java:5594) 
at macromedia.asc.parser.Parser.parseDirectives(Parser.java:5985) 
at macromedia.asc.parser.Parser.parseBlock(Parser.java:4411) 
at macromedia.asc.parser.Parser.parseBlock(Parser.java:4397) 
at macromedia.asc.parser.Parser.parsePackageDefinition(Parser.java:8053) 

「Java堆空間」是指Java堆speace不夠,它需要設置jave選項,如「java -Xms128M -Xmx512M -jar ..」,但我無法找到在鍊金術中設置選項的位置。

請幫助我,在此先感謝。

Oldmannt

回答

0

有些事情嘗試:

  • 不要用調試標誌(-g和朋友)編譯。這會導致它生成大量額外的代碼,並且經常導致它耗盡內存。
  • 增加$ALCHEMY_HOME/achacks/gcc中的堆空間參數($jmemmax)。
+0

to paleozogt:非常感謝! 我檢查過了,在我的編譯中沒有調試標誌。 正如你所說的那樣,我增加了堆空間,但鏈接錯誤卻完全相同。它打倒了我...我會嘗試在Windows版本鍊金術, – oldmannt 2012-07-23 08:57:07

相關問題