2013-05-07 10 views
0

먼저 here과 같이 내장 가상 파일 시스템을 생성했습니다."정의되지 않은 메소드 호출"로 인해 내장 VFS가있는 콘솔을 만들지 못했습니다

이 코드로 이것을 생성

package C_Run {} 
package com.adobe.flascc.vfs { 

    import com.adobe.flascc.vfs.*; 
    import com.adobe.flascc.BinaryData 

    public class myvfs extends InMemoryBackingStore { 

     public function myvfs() { 
      addDirectory("/data") 
      addFile("/data/localization.en.afgpack", new  C_Run.ALC_FS_6D79766673202F646174612F6C6F63616C697A6174696F6E2E656E2E6166677061636B) 
      addFile("/data/dataAudio.afgpack", new  C_Run.ALC_FS_6D79766673202F646174612F64617461417564696F2E6166677061636B) 
      addFile("/data/data.afgpack", new  C_Run.ALC_FS_6D79766673202F646174612F646174612E6166677061636B) 
     }  
    } 
} 

는 그것은 myvfs.abc로 컴파일된다. 그런 다음이 VFS로 사용자 지정 콘솔을 만들려고합니다. 가 나는 Console.asmyvfs을 가져온 :

import com.adobe.flascc.vfs.myvfs; 

그리고 생성 VFS 개체 :

var my_vfs_embedded:InMemoryBackingStore = new myvfs(); 

그래서, 문제가 Console.abc를 컴파일하는 것은 때때로 오류 "Call to a possibly undefined method myvfs"로 실패하고 때로는 같은 성공적으로 구축한다는 것입니다 암호. 어떻게 이럴 수있어?

Console.abc이 명령에 의해 만들어집니다 :

cd ./../../Engine/library/baselib/sources/flash && \ 
    java -jar $(FLASCC_FOR_EXT)/usr/lib/asc2.jar -merge -md -AS3 -strict -optimize \ 
    -import $(FLASCC_FOR_EXT)/usr/lib/builtin.abc \ 
    -import $(FLASCC_FOR_EXT)/usr/lib/playerglobal.abc \ 
    -import $(GLS3D_ABS)/install/usr/lib/libGL.abc \ 
    -import $(FLASCC_FOR_EXT)/usr/lib/ISpecialFile.abc \ 
    -import $(FLASCC_FOR_EXT)/usr/lib/IBackingStore.abc \ 
    -import $(FLASCC_FOR_EXT)/usr/lib/IVFS.abc \ 
    -import $(FLASCC_FOR_EXT)/usr/lib/InMemoryBackingStore.abc \ 
    -import $(FLASCC_FOR_EXT)/usr/lib/AlcVFSZip.abc \ 
    -import $(FLASCC_FOR_EXT)/usr/lib/CModule.abc \ 
    -import $(FLASCC_FOR_EXT)/usr/lib/C_Run.abc \ 
    -import $(FLASCC_FOR_EXT)/usr/lib/BinaryData.abc \ 
    -import $(FLASCC_FOR_EXT)/usr/lib/PlayerKernel.abc \ 
    -import $(BUILD_FULL_PATH)/myvfs.abc \ 
    Console.as -outdir $(BUILD_FULL_PATH) -out Console 

답변

0

내 VFS가 너무 커서 컴파일러와 비슷하게 보입니다. 데이터를 적게 썼을 때 모든 것이 괜찮 았습니다. 그래서 컴파일러의 버그라고 생각합니다.

0

myvfs.abc는이 Console.as과 동시에 구축 할 수 있음을 암시 BUILD_FULL_PATH에 있습니다. 빌드 순서를 완전히 예측할 수없는 경우 Console.as를 컴파일하면 myvfs.abc 바이너리가 알 수없는 상태가 될 수 있습니다. 예를 들어, myvfs.as 및 Console.as를 다른 독립적 인 대상으로 빌드하고 make (-j)에서 다중 스레드 옵션을 사용하는 경우에 이러한 현상이 발생할 수 있습니다.

+0

-j make 사용하지 않음 옵션 – vok1980