2012-08-16 1 views
0

몇 가지 연구를 한 후에 SDL을 시작했습니다. 이 튜토리얼을 시작했다. http://lazyfoo.net/SDL_tutorials/lesson01/index2.php < < 정확히 같은 코드와 bmp 이미지를 사용했다.C++ SDL, SDL_LoadBMP()가 NULL을 반환하는 이유는 무엇입니까?

내 IDE (Microsoft Visual Studio)에서 프로그램을 디버깅하고 실행할 때 화면이로드되지만 화면에 나타나야하는 그림이 표시되지 않습니다. 그러나 프로젝트에 가서 수동으로 프로그램을 실행하면 모든 것을 원활하게 수행 할 수 있습니다. 몇 가지 조사를 한 후에 SDL_LoadBMP()는 NULL을 반환합니다 (오류가 발생하면 NULL을 반환합니다). 하지만 왜? 또한 오류가 실제로 무엇인지 어떻게 알 수 있습니까?

답변

3

로드하려는 비트 맵이 올바른 디렉토리에 있습니까? Visual Studio에서 프로그램을 시작하면 프로젝트 (.vcproj 또는 .vcxproj 파일)가 들어있는 디렉터리의 현재 작업 디렉터리로 시작합니다. 경로가 모두 해당 디렉토리와 관련이 있는지 확인하십시오.

그러나 Windows 탐색기 (일반적으로 Debug\ 또는 Release\ 하위 디렉토리에 있음)에서 실행 파일을 두 번 클릭하여 실행하는 경우 해당 폴더의 현재 작업 디렉토리로 시작합니다.

+0

debug.exe와 같은 디렉토리에 1 초가 걸릴 수 있습니다. – user1534664

+0

고마워요, 당신 말이 맞아요. 나는 그것이 .vcproj와 같은 맵에 있어야한다는 것을 전혀 몰랐다! – user1534664

1

몇 가지 문제가 발생할 수 있습니다 : 당신이 SDL_image가

  1. 설치되어 있습니까?
  2. SDL_image에 연결 하시겠습니까?
  3. 실제 폴더에 실제 그래픽 파일이 있습니까?
  4. 화면이 깜박입니까?
  5. SDL_Flip을 사용하고 있습니까?
+0

3. 문제가있었습니다. 그것은 원래 경로로 .vcproj를 사용하는 것으로 밝혀졌습니다. 노력에 감사드립니다. – user1534664

+0

내 게임에서 나에게도 문제가 발생하지 않는 경우가 있습니다. – Annabelle

관련 문제