버그 해결을 위한 모든 질문을 던져
0 votes
361 views

https://beonsoft.tistory.com/entry/%EC%A4%91%EA%B0%84%EC%9E%91%ED%92%88-%EB%98%A5%ED%94%BC%ED%95%98%EA%B8%B0)

해당 링크의 똥피하기 게임 오픈 소스를 이미지를 수정해서 플레이하고, 코드를 공부하려는데 오류가 발생하네요.

SDL 라이브러리를 설치하고 2010 비쥬얼 스튜디오까지 설치했는데 그래도 안되군요 .. 

해결 가능한 선생님들 계실까요?

이미지

이미지

이미지

asked (2 point) , 361 views

1 답변

0 votes
VS2019 에서 컴파일까지는 잘 되는것 같네요. VS2019 에서 SDL2 의 include, lib path 잘 맞춰서 컴파일 해 보세요.

프로젝트가 Win32 로 되어 있으니 lib 패스는 x64가 아니라 32bit 버전인 x86 으로 맞춰야 합니다.
answered (132 point)
현재 선생님의 말을 듣고 VS2019 버전을 설치하고 있습니다.

SDL2의 Include, lib PATH를 설정하는건 이해가 되는데

 

lib PATH를 x64비트가 아닌 X86비트로 어떻게 맞추나요?

C:\Program Files (x86) 폴더 안에 있는 무엇으로 맞춰야 되나요?

SDL2의 developer library의 압축을 풀어보면 lib 폴더에 x64, x86 이렇게 폴더가 있을겁니다.

x64가 64bit 용, x86 이 32bit 용 라이브러리 입니다.

path 를 x86 으로 하란 소리에요.

빠른 답변 정말 감사합니다!

lib 폴더 안에 x64, x86이 있군요..

현재 VS2019 버전 설치 중에 있습니다.

한 번 해보겠습니다 감사합니다!

선생님 window.h를 

C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um 참조 라이브러리로 설정하니 해당 오류는 수정했습니다. 감사합니다. SDK와 VS 버전이 10,17,19까지 있어 충돌이 난 것 같군요.

하지만 아래 해당 오류들이 많은데.. 어째서 선생님은 아무 오류가 나지 않고 잘 돌아가는 것일까요 ㅠㅠ

 

http://www.filedropper.com/avoidddong

컴파일 되는 프로젝트 올렸으니 위에 링크에서 다운로드 받아서 한번 해보세요.
와.. 정말 감사드립니다 새벽 시간에 직접 도와주셔서 .. VS의 많은 버전을 설치해서 오류가 났나보네요.

잘 되는 것을 확인했습니다 정말 감사합니다!!
메시지 박스를 찾고 있는데 관련 정보가 잘 나오질 않네요.

1. 프로그램을 시작시 "제목: 안내"      "내용: 안녕하세요"  메시지 박스 출력.

2. 똥피하기 실패시 카운트가 출력되고 프로그램이 꺼지지 않고 바로 프로그램이 새로 시작.

이 두가지를 어떻게 구현할 수 있을까요?

1번은

    const SDL_MessageBoxButtonData buttons[] = {
        { /* .flags, .buttonid, .text */        0, 0, "no" },
        { SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT, 1, "yes" },
        { SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT, 2, "cancel" },
    };
    const SDL_MessageBoxColorScheme colorScheme = {
        { /* .colors (.r, .g, .b) */
            /* [SDL_MESSAGEBOX_COLOR_BACKGROUND] */
            { 255,   0,   0 },
            /* [SDL_MESSAGEBOX_COLOR_TEXT] */
            {   0, 255,   0 },
            /* [SDL_MESSAGEBOX_COLOR_BUTTON_BORDER] */
            { 255, 255,   0 },
            /* [SDL_MESSAGEBOX_COLOR_BUTTON_BACKGROUND] */
            {   0,   0, 255 },
            /* [SDL_MESSAGEBOX_COLOR_BUTTON_SELECTED] */
            { 255,   0, 255 }
        }
    };

이러한 코드를 검색해서 알아냈는데 적용이 잘안되네요.. 선생님 마지막으로 부탁 가능할까요?

그리고 컴파일 가능한 프로젝트의 메시지 박스만 다른 단어로 작성하고 릴리즈 했는데 프로그램이 켜지고 흰 화면이 뜨고 종료되는데 무슨 이유일까요?
코딩은 직접 수정해 보세요. 그건 못도와 줍니다. ㅎㅎ

 

실행시 바로 꺼지는 이유는 실행파일 있는곳에 sdl 의 dll 들이 없어서 그렇습니다.

sdl 의 모든 dll 들을 다 실행파일 있는곳에 복사해 넣으면 실행될겁니다.

죄송합니다 직접 수정해보겠습니다!

release 폴더 안에 dll 들을 다 넣었는데도 실행이 안되는데 어떻게 해결할 수 있을까요?

캐릭터랑 똥 그림도 같이 복사해 넣어 보세요.

그래도 안되면 디버깅을 해서 원인 파악을 해야 합니다.

프로그래머로 일하려면 개발환경 맞추는것과 무엇이 잘못되었는지 찾아내는 능력이 많이 필요합니다.

기초적인 디버깅은 10 ~ 20분만 투자하면 배울 수 있습니다.

그럼 열심히 해보세요~
감사합니다 해결했습니다 ㅎㅎ

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

533 질문
687 answers
674 댓글
118,202 users