2012-09-30 175 views
2

我剛剛使用SDL 1.2.15和SDL_image 1.2.12庫在C++中編寫了一個應用程序。它可以在我的計算機上運行,​​但每當我向朋友發送* .exe(當然包括SDL庫中的所有* .dll文件和程序需要的圖片)時,他們都會說沒有任何反應(沒有消息,沒有錯誤等)。程序的內容並不重要,因爲我寫的每個SDL應用程序都會產生這樣的問題。SDL應用程序不能在其他計算機上運行

我正在使用Windows XP上的Code :: Blocks 10.05(作爲我的朋友)。很顯然,我發佈了發行版。

我發現我的程序不能在與Windows NT兼容的模式下運行並且性能較低。

+0

你有沒有SDDL文件在同一目錄作爲您的EXE構建時? –

+0

不,它們與cpp文件位於同一目錄中。 – uicus

+0

它不適用於所有朋友的個人電腦或只是其中的一部分? –

回答

2

如果應用程序似乎甚至沒有啓動,您可以使用DependencyWalker來檢查是否滿足所有的靜態依賴關係。它會告訴你是否有任何缺失的DLL。如果所有依賴關係似乎都已滿足(dll列表中沒有錯誤),則可以使用主菜單中的Profile命令來分析應用程序的啓動。

分析會告訴你動態依賴關係是否存在問題(通過COM加載DLL或者直接調用LoadLibrary)。

0

好吧,我剛剛發現我的錯誤。我確定了SDL_Surface的寬度和高度(使用SDL_SetVideoMode())以適合我的屏幕尺寸。當函數想要在其他維度的屏幕上執行相同操作時,它返回NULL,從而導致所有應用程序崩潰。 感謝您的關注。

相關問題