>  기사  >  백엔드 개발  >  CMake에서 SDL2 및 SDL_image를 사용할 때 정의되지 않은 참조 오류를 해결하는 방법은 무엇입니까?

CMake에서 SDL2 및 SDL_image를 사용할 때 정의되지 않은 참조 오류를 해결하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-05 19:46:02761검색

How to Solve Undefined Reference Error When Using SDL2 and SDL_image with CMake?

CMake에서 SDL2 및 SDL_image를 사용하는 방법(오류 해결)

이 가이드에서는 직면한 문제에 대한 솔루션을 제공합니다. CMake에서 SDL2 및 SDL_image를 사용하려고 할 때.

원래 문제:

CMake에서 SDL2 및 SDL_image를 사용하여 C 프로그램을 컴파일하려고 하면 IMG_LoadTexture에 대한 정의되지 않은 참조가 발생합니다.

향상된 솔루션:

이 문제를 해결하려면 CMakeLists.txt를 다음과 같이 수정할 수 있습니다.

<code class="cmake">project(shooter-cmake2)

cmake_minimum_required(VERSION 2.8)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")

add_executable(${PROJECT_NAME} src/test.cpp)

INCLUDE(FindPkgConfig)

PKG_SEARCH_MODULE(SDL2 REQUIRED sdl2)
PKG_SEARCH_MODULE(SDL2IMAGE REQUIRED SDL2_image>=2.0.0)

INCLUDE_DIRECTORIES(${SDL2_INCLUDE_DIRS} ${SDL2IMAGE_INCLUDE_DIRS})
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${SDL2_LIBRARIES} ${SDL2IMAGE_LIBRARIES})</code>

설명:

  • FindPkgConfig를 사용하여 적절한 시스템 라이브러리를 찾고 사용합니다.
  • PKG_SEARCH_MODULE은 SDL2 및 SDL2_image를 검색하고 포함 경로와 라이브러리를 구성하는 데 사용됩니다.
  • /usr/lib/x86_64-linux-gnu/pkgconfig/SDL2_image.pc의 Name 값이 이 라이브러리에 대한 PKG_SEARCH_MODULE의 세 번째 매개변수와 일치하는지 확인하세요.

이러한 변경 사항 구현 연결 문제를 해결하고 프로그램이 SDL2 및 SDL_image를 성공적으로 사용할 수 있도록 해야 합니다.

위 내용은 CMake에서 SDL2 및 SDL_image를 사용할 때 정의되지 않은 참조 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.