首頁 >後端開發 >C++ >在 CMake 中使用 SDL2 和 SDL_image 時如何解決未定義的參考錯誤?

在 CMake 中使用 SDL2 和 SDL_image 時如何解決未定義的參考錯誤?

Susan Sarandon
Susan Sarandon原創
2024-11-05 19:46:02827瀏覽

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

如何在CMake 中使用SDL2 和SDL_image(已解決的錯誤)

在本指南中,我們將為所面臨的問題提供解決方案當嘗試使用SDL2 和SDL_image 與CMake 時。

原始問題:

當嘗試使用SDL2 和SDL_image 與CMake 編譯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