Heim > Backend-Entwicklung > C++ > Wie kann ich SDL2-Header in ein CMake-basiertes Projekt einbinden?

Wie kann ich SDL2-Header in ein CMake-basiertes Projekt einbinden?

Barbara Streisand
Freigeben: 2024-11-02 22:13:02
Original
748 Leute haben es durchsucht

How can I include SDL2 headers in a CMake-based project?

Einbinden von SDL2-Headern in CMake-basierte Projekte

Diese Frage befasst sich mit dem Problem des Einbindens von SDL2-Headern (#include „SDL.h“). beim Erstellen eines SDL2-Projekts in CLion mit CMake.

Lösung

Die bereitgestellte Lösung bietet zwei Ansätze für verschiedene Betriebssysteme:

Linux

Für Linux ist die Verwendung einer aktuellen CMake-Version (z. B. 3.7) ausreichend. Die integrierte find_package-Funktion von CMake kann SDL2-Header und -Bibliotheken finden und einbinden:

<code class="cmake">cmake_minimum_required(VERSION 3.7)
project(SDL2Test)

find_package(SDL2 REQUIRED)
include_directories(SDL2Test ${SDL2_INCLUDE_DIRS})

add_executable(SDL2Test Main.cpp)
target_link_libraries(SDL2Test ${SDL2_LIBRARIES})</code>
Nach dem Login kopieren

Windows

Für Windows befolgen Sie diese Schritte:

  1. Laden Sie das SDL2-Entwicklungspaket herunter.
  2. Extrahieren Sie es an einen ausgewählten Speicherort.
  3. Erstellen Sie die Datei sdl-config.cmake im extrahierten Verzeichnis mit folgendem Inhalt:
<code class="cmake">set(SDL2_INCLUDE_DIRS "${CMAKE_CURRENT_LIST_DIR}/include")

# Support both 32 and 64 bit builds
if (${CMAKE_SIZEOF_VOID_P} MATCHES 8)
  set(SDL2_LIBRARIES "${CMAKE_CURRENT_LIST_DIR}/lib/x64/SDL2.lib;${CMAKE_CURRENT_LIST_DIR}/lib/x64/SDL2main.lib")
else ()
  set(SDL2_LIBRARIES "${CMAKE_CURRENT_LIST_DIR}/lib/x86/SDL2.lib;${CMAKE_CURRENT_LIST_DIR}/lib/x86/SDL2main.lib")
endif ()

string(STRIP "${SDL2_LIBRARIES}" SDL2_LIBRARIES)</code>
Nach dem Login kopieren
  1. Setzen Sie in der CMake-GUI-Anwendung die Variable SDL2_DIR auf das extrahierte SDL2-Verzeichnis.
  2. Konfigurieren Sie CMake neu.

Nach diesen Schritten können Sie kann SDL2-Header mit #include „SDL.h“ einschließen.

Das obige ist der detaillierte Inhalt vonWie kann ich SDL2-Header in ein CMake-basiertes Projekt einbinden?. 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