2014-03-31 4 views
0

다른 프로젝트에서 다양한 언어로 사용할 수있는 라이브러리를 작성하려면 Haxe를 사용하고 싶습니다.Haxe : neko, cpp 및 java sys 트리에서 가져 오기

현재 내 라이브러리의 상단에 있습니다

import neko.io.File; 
import neko.io.FileInput; 
import neko.io.FileOutput; 
import neko.FileSystem; 
import neko.io.Process; 

그래서 내 라이브러리는 -neko 플래그를 사용하여, 잘 네코을 컴파일합니다. 나는 -cpp 플래그를 사용하려고하지만 경우, 패키지를 찾을 수 없습니다 :

import sys.io.File; 
import sys.io.FileInput; 
import sys.io.FileOutput; 
import sys.FileSystem; 
import sys.io.Process; 

과에 Haxe 변화 sys을 보자

$ haxe -cp src -main sws/Root.hx -cpp build/sws.CXX 
src/sws/Root.hx:3: characters 0-20 : You can't access the neko package with current compilation flags (for neko.io.File) 

나는 해결책 대신이 같은 수입을 할 것이라고 생각 neko 또는 cpp 내가 사용하는 컴파일 플래그에 따라 다릅니다. (모든 모듈이 모든 대상 언어로 사용 가능하다고 가정하십시오.) 그러나 이는 작동하지 않습니다.

$ haxe -cp src -main sws/Root.hx -neko build/sws.n 
src/sws/Root.hx:3: characters 0-19 : Class not found : sys.io.File 
$ haxe -cp src -main sws/Root.hx -cpp build/sws.CXX 
src/sws/Root.hx:3: characters 0-19 : Class not found : sys.io.File 

어떻게해야합니까? 당신은 아마 Haxe의 2.X를 사용하고 import neko.io.File; 작품, 3. (내가 부족하지 않는 무언가를?) Haxe하지 않으면

을 Haxe 3에서

+2

편집 라인이 무엇입니까? sys.io.File은 cpp와 neko에서 잘 작동합니다. – Peekmo

+0

감사합니다. 컴파일 라인을 추가했습니다. – joeytwiddle

답변

3

, 당신은 import sys.io.File 등 마이그레이션 Haxe 3 노트 사용한다 다음에서 찾을 수 있습니다. http://haxe.org/manual/haxe3/migration

Haxe 2에서는 대상별로해야했습니다. 나는 다음과 같은 일을 할 것입니다 :

#if neko 
    import neko.io.File; 
    import neko.io.FileInput; 
    import neko.io.FileOutput; 
    import neko.FileSystem; 
    import neko.io.Process; 
#elseif cpp 
    import cpp.io.File; 
    import cpp.io.FileInput; 
    import cpp.io.FileOutput; 
    import cpp.FileSystem; 
    import cpp.io.Process; 
#end 

물론 모든 수업은 Haxe 버전의 CPP 대상에 있다고 가정합니다.

그렇지 않다면 Haxe 3로 업그레이드하십시오.

+0

많은 설명에 감사드립니다. 나는 Haxe 3 루트로 업그레이드 할 것입니다! – joeytwiddle