Axiom/Trobleshooting

Błędy wykrywane podczas kompilacji i pracy skompilowanej aplikacji

edytuj
  • Przede wszystkim: Jeżeli zostanie wyświetlone okienko renderingu (główne okno programu mogące także rozwinąć się na cały ekran, w zależności od wcześniej ustawionych opcji) ale jest czarne - daj programowi trochę czasu na załadowanie wszystkich składników. Na wolniejszych komputerach może to potrwać dość długo. Program wejdzie we właściwą fazę pracy dopiero gdy zobaczysz logo Axiom i linie informacyjne w okienku renderingu.
  • Program, który omawiamy w podręczniku, wyprowadza informacje do pliku AxiomExample.log. Właśnie ten plik, w pierwszej kolejności, należy obejrzeć w razie problemów. Wiele czasu można stracić zapominając o tej regule!
  • Jeżeli wystąpią komunikaty w środowisku projektowym o problemach z kompilacją, sprawdź czy na pewno Axiom.dll jest na liście referencji.
  • Zwykle gdy program się kompiluje bez błedów ale nie chce wystartować, przyczyną jest brak innych bibliotek dll w katalogu z kompilacją lub też błędy w pliku EngineConfig.xlm. Zerknij do pliku AxiomExample.log by zidentyfikować problem.
  • Problemy związane ze środowiskiem Windows/Visual Studio:
    • Jeżeli nie możesz skompilować programu i występują błędy związane z brakiem plików Microsoft.DirectX sprawdź czy zainstalowałeś najnowszy pakiet SDK DirectX.
    • Kompilator Ms Visual C# 2008 Express usuwa z katalogu kompilacyjnego biblioteki ICSharpCode.SharpZipLib.dll i Tao.DevIl.dll (dlaczego !?) i by za każdym razem po kompilacji nie kopiować tych plików warto je ustawić na read-only.
  • Problemy związane ze środowiskiem Linux/Mono:
    • Jeżeli nie możesz uruchomić skompilowanego programu a log wskazuje na błędy związane z DirectX, powinieneś usunąć binaria DirectX z katalogu programu (w tej chwili to jedyne rozwiązanie) jako że Axiom nie radzi sobie z wyborem ich odpowiedników z SDL.
    • Jeżeli nie możesz uruchomić skompilowanego programu a log wskazuje na błędy związane z DevIL, upewnij się że zainstalowany pakiet zawiera oryginalną bibliotekę Linux DevIL. Dla Ubuntu (i prawdopodobnie dla większości dystrybucji opartych o Debian), pakietem który nalezy zainstalować jest "libdevil1c2" i powinien być zainstalowany poprzez sudo apt-get install libdevil1c2.
    • Jeżeli obserwujesz ostrzeżenia lub błędy związane z "libCg.so.1" lub podobnym i posiadasz kartę graficzną Nvidii, musisz zainstalować pakiet zawierający oryginalną bibliotekę libCg, która dla Ubuntu (i prawdopodobnie dla większości dystrybucji opartych o Debian) to "nvidia-cg-toolkit" i który należy zainstalować komendą sudo apt-get install nvidia-cg-toolkit.
    • Jeżeli używasz systemu renderingu OpenGL i zauważysz błędy związane z OpenGL lub bibliotekami SDL, upewnij się że pliki konfiguracyjne dla twojej dystrybucji Linuxa są poprawne. Na przykład plik "Tao.Sdl.dll.config.ubuntu" zawiera prawidłowe mapowania dla Ubuntu, zatem przekopiowanie go do pliku "Tao.Sdl.dll.config" powinno rozwiązać problemy związane z rozpoznaniem "libSDL.so".

Jeżeli dalej występują problemy, poszukaj odpowiedzi na forach. Prawdopodobnie podobny problem wystąpił już wiele razy. Jeżeli jednak jest nowy, zapytaj innych użytkowników forów. Pamiętaj o załączeniu informacji z twojego pliku .log oraz wszystkich wyjątków, ostrzeżeń i błędów.