이렇게 비슷한 주제가 많이 있지만 비슷한 15 가지 스레드에 대한 모든 제안을 다 써 버렸습니다.Code :: Blocks를 사용하는 SDL 함수에 대한 정의되지 않은 참조
SDL 라이브러리를 사용하는 자습서 코드를 실행하면 IDE가 SDL과 관련된 모든 기능에 대해 "정의되지 않은 참조"를 제공합니다.
상황
아키텍처 : 64 비트
IDE : CodeBlocks 16.01
컴파일러 : GNU GCC
내가1) 내가 할 시도 무엇
컴파일러에게 디렉토리 아래에서 헤더를 찾도록했다. : ..... \는 i686-W64-mingw32 \는 \ SDL2 내가 \ 포함 선택하지 않은 NOR 내가 선택 않았다 상대 경로
를 사용하여 포함 ..... \의 x86_64의-W64-mingw32의 \는 SDL2
\ 포함내가 .... \ lib 디렉토리를 선택하지 않은 사용하여 상대 경로 lib에는 ..... \는 i686-W64-mingw32 \ NOR 내가 선택했던 :
2) 나는 디렉토리에 라이브러리 파일을 찾을 컴파일러에게 ..... \ x86_64-w64-mingw32 \ lib
3) 라이브러리를 연결할 때 디렉토리 .... \ i686-w64-mingw32 아래에 네 개의 라이브러리가 포함되었습니다. \ lib이고 위에서 언급 한 다른 디렉토리는 아닙니다. 다음
4) 라이브러리가 링크 된 순서는 :
SDL2main.lib
SDL2.lib
SDL2test.lib
5) I의 특성 것이 보장 main.c의 컴파일 파일 검사, 링크 파일 검사, 대상 디버그 및 릴리스에 속한 검사가 모두 수행되었습니다.
빌드 로그 :
-------------- 빌드 : 뱀 게임의 디버그 (컴파일러 : GNU GCC 컴파일러) -------- -------
mingw32-g ++. exe -L ...... \ Downloads \ SDL2-devel-2.0.4-mingw \ SDL2-2.0.4 \ i686-w64-mingw32 \ lib -o "bin \ Debug \ Snake Game.exe"obj \ Debug \ main.o -lmingw32 ...... \ Downloads \ SDL2-devel-2.0.4-mingw \ SDL2-2.0.4 \ i686- w64-mingw32 \ lib \ libSDL2main.a ...... \ Downloads \ SDL2-devel-2.0.4-mingw \ SDL2-2.0.4 \ i686-w64-mingw32 \ lib \ libSDL2.a OBJ \ 디버그 \의 main.o를 : 기능
SDL_main': C:/XXX/XXX/XXX/XXX/XXX/main.c:9: undefined reference to
SDL_WM_SetCaption '
로그가 정의되지 않은 참조하여 계속적으로 진행합니다.
누구나이 링크 문제를 해결할 수 있습니까?
어떤 컴파일러입니까? MinGW? – HolyBlackCat
code :: blocks : 명령 및 출력에서 제공하는 전체 링크 추적을 포함하십시오. –
@HolyBlackCat GNU GCC –