2010-02-09 83 views
3

我使用wxPerl開發了一個應用程序Strawberry Perl 5.8.9.4。該應用程序編譯使用:爲什麼我的wxPerl應用程序無法啓動Windows?

wxpar -f Crypto -F Crypto -M Filter :: Crypto :: Decrypt -compress = 9 --gui --icon = icon.ico --lib =。/ lib --module = App :: Order --module = Wx --module = App :: GUI :: Main --module = App :: GUI :: Frame --module = App :: GUI :: Forms :: Settings - -module = App :: GUI :: Forms :: Settings :: Signature --module = App :: Task :: StripAndMail --module = App :: Mode :: Terminal --module = App :: Mode :: GUI - -output =「bin \ PDF Mailer.exe」「PDF PDF Mailer.pl」`。

我已經到了將其部署到客戶PC的時候了。爲此,我使用InnoSetup創建的一個安裝程序,它將所有必需的DLL複製到system32文件夾中。我已經在我自己和另一個沒有安裝Strawberry Perl的系統上測試過了。這種其它系統讓我找出哪些DLL的我需要包括,它們是:

  • 的libeay32.dll
  • mingwm10.dll
  • wxbase28u_gcc_wxp_binary_10_0.dll
  • wxmsw28u_adv_gcc_wxp_binary_10_0.dll
  • wxmsw28u_core_gcc_wxp_binary_10_0.dll

但是,我的客戶端安裝了安裝程序,並且在啓動應用程序時, t變爲加載指示符並在之後恢復正常。該應用程序似乎沒有正確啓動,也沒有報告缺少的DLL。

我以前在mingwm10.dll丟失之前發生過同樣的問題。所以我認爲這是一個缺少的DLL,但我不知道在哪裏尋找。

我修改了我的系統路徑,只包含system32文件夾,以確保應用程序以應用程序文件夾中提供的DLL開頭。我還刪除了我的設置從system32文件夾刪除的所有DLL。

我的開發機器運行Windows XP Prof. SP3。客戶端的系統運行Windows XP Home SP3。

任何想法或指針將不勝感激。

回答

3

我發現我的問題。這實際上是一個草莓Perl的錯誤,已經有報道here。我決定在沒有--gui,--compress標誌和加密過濾器的情況下編譯它。因爲我遺漏了--gui它會向控制檯返回一條錯誤消息。錯誤提到PAR::Heavy找不到。根據我之前提到的信息,這是因爲PAR :: Heavy所在的路徑。所以我將--lib=C:/strawberry/perl/vendor/lib添加到wxpar中,重新編譯,並且所有工作都像它應該重新編譯一樣。在這個錯誤被解決之前,這應該是個訣竅。

相關問題