2010-02-09 2 views
3

wxPerl을 사용하여 Strawberry Perl 5.8.9.4으로 애플리케이션을 개발했습니다. .왜 Windows 용 wxPerl 응용 프로그램이 시작되지 않습니까?

wxpar 암호화 -F 크립토 -M 필터 -f : 암호화가 --compress = 9 --gui --icon = icon.ico --lib = 암호를 해독 ::/lib 디렉토리 : 응용 프로그램을 사용하여 컴파일 - 모듈 = 응용 프로그램 :: 주문 - 모듈 - = Wx - 모듈 = 응용 :: GUI :: 메인 - 모듈 = 응용 프로그램 :: GUI :: 프레임 - 모듈 = 응용 :: GUI :: 양식 :: 설정 - -module = App :: GUI :: Forms :: Settings :: 서명 - 모듈 = 응용 프로그램 :: 작업 :: StripAndMail - 모듈 = 응용 :: 모드 :: 터미널 - 모듈 = 응용 :: 모드 :: GUI - -output = "bin \ PDF Mailer.exe" "PDF Mailer.pl"`.

나는 그것을 고객 PC에 배포하는 시점에 왔습니다. 이를 위해 필요한 모든 DLL을 system32 폴더에 복사하는 InnoSetup으로 만든 설치 프로그램을 사용합니다. 필자는 Strawberry Perl을 설치하지 않은 다른 시스템에서 직접 테스트했습니다. 이 다른 시스템 나를 알아 만든있는 나는 어느 포함하는 데 필요한 DLL의 :

  • wxmsw28u_core_gcc_wxp_binary_10_0.dll
  • wxmsw28u_adv_gcc_wxp_binary_10_0.dll
  • wxbase28u_gcc_wxp_binary_10_0.dll
  • mingwm10.dll
  • 않으면 LIBEAY32.dll

그러나 클라이언트가 설치 프로그램을 설치하고 응용 프로그램을 시작할 때 커서 jus t는 적재 표시기로 변경되고 이후에 정상을 반환합니다. 응용 프로그램이 제대로 시작되지 않았거나 누락 된 DLL을보고하고 있지 않습니다.

mingwm10.dll가 누락되었을 때 이전과 같은 문제가있었습니다. 그래서 그것은 누락 된 DLL이라고 생각하지만 어디에서 찾을 지 아무 단서가 없습니다.

system32 폴더 만 포함하도록 응용 프로그램의 PATH가 수정되어 응용 프로그램의 폴더에 제공된 DLL로 응용 프로그램이 시작되는지 확인했습니다. 나는 또한 system32 폴더에서 내 설치로 isntalled 있던 모든 DLL을 제거했습니다.

내 개발 컴퓨터에서 Windows XP Prof. SP3을 실행 중입니다. 클라이언트 시스템이 Windows XP Home SP3을 실행 중입니다.

모든 의견이나 조언을 주시면 감사하겠습니다.

답변

3

내 문제가 발견되었습니다. 사실 이미 Strawberry Perl의 버그이며, 이미 here으로보고되었습니다. --gui, --compress 플래그 및 암호화 필터없이 컴파일하기로 결정했습니다. --gui을 버렸기 때문에 콘솔에 오류 메시지가 표시됩니다. 오류는 PAR::Heavy을 찾을 수 없다고 언급했습니다. 이전에 링크 된 메시지에 따르면 PAR :: Heavy가있는 경로 때문이었습니다. wxpar에 --lib=C:/strawberry/perl/vendor/lib을 추가하고 다시 컴파일하면 모든 것이 정상적으로 작동합니다. 이 버그가 수정 될 때까지 트릭을해야합니다.