2012-09-30 3 views
2

저는 C++에서 SDL 1.2.15 및 SDL_image 1.2.12 라이브러리를 사용하여 앱을 작성했습니다. 내 컴퓨터에서 작동하지만 * .exe를 내 친구에게 보낼 때마다 (물론 SDL 라이브러리의 모든 * .dll 파일과 프로그램 요구 사항 이미지가있는 경우) 아무런 문제가 발생하지 않는다고 말합니다 (메시지도 오류도 없음). 나와 관련된 모든 SDL 앱에서 이러한 문제가 발생하므로 프로그램의 콘텐츠는 중요하지 않습니다.SDL 앱이 다른 컴퓨터에서 실행되지 않습니다

Windows XP에서 Code :: Blocks 10.05 (친구로) 작업 중입니다. 분명히 릴리스 버전을 보냈습니다.

내 프로그램이 Windows NT 이하의 호환 모드에서 실행되지 않음을 발견했습니다.

+0

당신은 exe 파일과 같은 디렉토리에 sdl dll 파일을 만들었습니까? –

+0

아니, 그들은 cpp 파일과 같은 디렉토리에 있습니다. – uicus

+0

모든 친구의 PC에서 작동하지 않습니까? 아니면 일부만 작동합니까? –

답변

2

응용 프로그램이 시작되지 않는 것 같으면 DependencyWalker을 사용하여 모든 정적 종속성이 충족되는지 확인할 수 있습니다. 누락 된 dll이 있으면 표시됩니다. 모든 종속성이 충족 된 것으로 보일 경우 (dll 목록에 오류가 없음) 응용 프로그램의 시작을 프로파일 링하기 위해 주 메뉴의 Profile 명령을 사용할 수 있습니다.

동적 종속성 (DLL을 통해로드 된 DLL 또는 LoadLibrary에 대한 명시 적 호출)에 문제가있는 경우 프로파일 링이 표시됩니다.

0

좋아, 난 그냥 내 실수를 발견했습니다. 내 화면 크기에 맞게 내 SDL_Surface (SDL_SetVideoMode())의 너비와 높이를 결정했습니다. 함수가 다른 차원의 화면에서 동일한 작업을 수행하려고 할 때 NULL을 반환하므로 모든 응용 프로그램이 충돌합니다. 감사합니다.

관련 문제