Heim > Backend-Entwicklung > C++ > Wie behebe ich einen undefinierten Referenzfehler bei der Verwendung von SDL2 und SDL_image mit CMake?

Wie behebe ich einen undefinierten Referenzfehler bei der Verwendung von SDL2 und SDL_image mit CMake?

Susan Sarandon
Freigeben: 2024-11-05 19:46:02
Original
830 Leute haben es durchsucht

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

So verwenden Sie SDL2 und SDL_image mit CMake (behobene Fehler)

In diesem Leitfaden bieten wir eine Lösung für das aufgetretene Problem beim Versuch, SDL2 und SDL_image mit CMake zu verwenden.

Ursprüngliches Problem:

Beim Versuch, ein C-Programm mit SDL2 und SDL_image mit CMake zu kompilieren, ein undefinierter Verweis auf IMG_LoadTexture wurde festgestellt.

Verbesserte Lösung:

Um dieses Problem zu beheben, können wir die CMakeLists.txt wie folgt ändern:

<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>
Nach dem Login kopieren

Erklärung:

  • Wir verwenden FindPkgConfig, um die entsprechenden Systembibliotheken zu finden und zu verwenden.
  • PKG_SEARCH_MODULE wird verwendet, um nach SDL2 und SDL2_image zu suchen und deren Include-Pfade und Bibliotheken zu konfigurieren.
  • Beachten Sie, dass der Name-Wert in /usr/lib/x86_64-linux-gnu/pkgconfig/SDL2_image.pc mit dem dritten Parameter PKG_SEARCH_MODULE für diese Bibliothek übereinstimmt.

Implementierung dieser Änderungen sollte das Verknüpfungsproblem beheben und es dem Programm ermöglichen, SDL2 und SDL_image erfolgreich zu verwenden.

Das obige ist der detaillierte Inhalt vonWie behebe ich einen undefinierten Referenzfehler bei der Verwendung von SDL2 und SDL_image mit CMake?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage