2012-10-24 29 views
2

我開發了一個使用FlashDevelop 4的ActionScript 3項目。 我有一個主SWF保存所有的代碼。 我想將一些主要的SWF代碼導出到模塊中。mxmlc load-externs被忽略

我創建了一個模塊來保存分離的邏輯(通過擴展ModuleBase)。

我不希望模塊SWF引用主SWF中可用的任何內容,所以我使用-link-report運行主SWF編譯,並獲得了一個包含所有主SWF引用的report.xml文件。

我嘗試編譯模塊(mxmlc),同時使用load-externs = report.xml選項排除主SWF中的任何類或庫。

該編譯給了我一個錯誤,指出某些庫引用缺失,但錯誤消息引用了僅包含在主SWF中的類。 我檢查了report.xml文件,它確實顯示引用了這些類。

我試圖在3種不同的方式執行編譯,並總是得到相同的結果:

  1. 使用FlashDevelope構建當前文件,並給予該文件應運行的命令頭。
  2. 使用命令行(窗口)。
  3. 使用Ant構建腳本。

有沒有人有任何想法,爲什麼會發生這種情況? 如果能幫助任何人指導我解決問題,我會很樂意提供有關我的問題的更多信息。

感謝您的幫助!

+0

問題似乎是模塊編譯失敗,因爲它無法找到父應用程序包含的庫(RSL)。點是它不會找到它們,因爲它會在運行時在父應用程序中訪問它們。 – talr

+0

添加-include-libraries = * missing-libraries *解決了問題,但使模塊更大(因爲它們也包含父代包含的相同庫) – talr

回答

0

事實證明,它沒有忽略負載extern。

load-externs排除了一些庫,因此在編譯期間沒有找到這些庫。

我通過向編譯添加庫路徑解決了這個問題。 這是通過添加標誌完成的:-l + = lib \