2009-12-22 3 views
1

이것은 pp를 사용하기 시작한 이래서 초보자 용 질문입니다. CPAN에서 설명서를 읽고 응용 프로그램 용 실행 파일을 만들려고했습니다. Windows XP, PAR :: Packager 버전 0.991 (PAR 버전 0.994)에서 Camelbox 및 Tk를 사용합니다. pp가 제대로 작동하는지 확인하기 위해 Tk를 사용하여 매우 단순한 hello_world.pl을 만들었습니다.이 파일을 .exe로 컴파일하고 실행했습니다. 여태까지는 그런대로 잘됐다.Perl PAR 응용 프로그램이 즉시 죽는 이유는 무엇입니까?

내 응용 프로그램에서 pp -o out.exe my_program.pl을 사용하고 out.exe를 실행하려고하면 콘솔 창이 나타나고 곧바로 오류 메시지없이 종료됩니다. 문제는 메시지가 없기 때문에 어디서부터 해결책을 찾기 시작해야할지 모르겠다는 것입니다. 나는 로그 파일을 작성하기 때문에 tkpp (pp의 경우 gui)을 사용하여 동일한 작업을 시도했지만 효과는 동일하고 로그 파일은 비어 있습니다. 누군가 나를 도울 수 있습니까?

답변

2
  1. 업그레이드 모듈 :: ScanDeps는 오류 메시지를 복사 PAR mailing list 또는 PAR::Packer bug tracker

  2. 로 보내
+0

답장을 보내 주셔서 감사합니다. CPAN이 Module :: ScanDeps가 최신이라고 알려줍니다. 그러나 두 번째 힌트는 마침내 제가 찾던 오류 메시지를줍니다. 내 모듈 중 하나가 실행 파일에 포함되지 않았습니다. 각 모듈을 따로 지정해야합니까? 나는 그것들을 "사용"하고 포장하기 위해 노력하고있는 프로그램과 같은 디렉토리에 있습니다. –

+0

변수없이 "사용"또는 "필요"를 사용하면 모듈을 자동으로 선택해야합니다. "eval"과 같은 것을 사용하면 $ var ""을 사용하고, 모듈에 '-M'을 추가해야합니다. 일반적으로 소스를 보지 않고 말할 수 없습니다. –

+0

Alexandr, 나는 문제가 무엇인지에 대한 아이디어를 얻었습니다. 필자는 CPAN FindBin을 사용하여 로컬 디렉토리를 탐지하고 생성 경로를 "lib 사용"합니다. "use $ var"를 사용하는 것과 같습니다. - 감사합니다! –

1

오류가 발생하지 않는 경우 어떻게 사망했는지 어떻게 알 수 있습니까?

프로그램이 제대로 작동하지만 출력을보기 전에 콘솔 창이 닫힐 수도 있습니다.

아마도 hello world를 인쇄 한 후 일시 중지 하시겠습니까? 최신 버전 (또는 0.95) 당신이 명령 프롬프트 콘솔 창에서 프로그램

  • 실행을 재 시도에

    print "Hello, World!"; 
    <>; # pause for input 
    
  • +0

    의견을 보내 주셔서 감사합니다. 작은 hello world 프로그램을 사용하여 입력, 시작 및 오류없이 대기합니다. 그러나 내 응용 프로그램에는 대화 상자를 여는 Tk GUI가 있습니다. pp로 포장되면 아무 것도하지 않습니다. 최소한 나는 오류 메시지가 표시되었다는 것을 알았습니다. 콘솔이 너무 빨리 닫혀서 읽을 수 없습니다. 콘솔이 닫히지 않게하려면 어떻게합니까? –

    +0

    @Nele Kosog : 명령 프롬프트에서 프로그램을 실행하십시오 (Explorer에서 해당 프로그램을 두 번 누르는 대신). –

    +0

    마이클 - 고마워요. 때로는 너무 분명해. 그냥 그리워. –