Maison >développement back-end >C++ >Comment résoudre les problèmes d'inclusion d'en-tête SDL2 avec CMake ?

Comment résoudre les problèmes d'inclusion d'en-tête SDL2 avec CMake ?

DDD
DDDoriginal
2024-11-04 07:01:31831parcourir

How to Resolve SDL2 Header Inclusion Problems with CMake?

Résoudre les problèmes d'inclusion SDL2 avec CMake

Problème :

Lors du développement d'un projet SDL2 dans CLion, "#include < ;SDL.h>" Impossible de trouver le fichier d'en-tête nécessaire.

Solution :

Pour les systèmes Linux :

  1. Assurez-vous que la version CMake 3.7 ou version ultérieure est installé.
  2. Ajoutez les lignes suivantes à votre fichier CMakeLists.txt :
<code class="cmake">find_package(SDL2 REQUIRED)
include_directories(SDL2Test ${SDL2_INCLUDE_DIRS})

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

Pour les systèmes Windows :

  1. Téléchargez et extrayez le package de développement SDL2.
  2. Créez un fichier nommé sdl-config.cmake dans le répertoire extrait avec le contenu suivant :
<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>
  1. Dans l'application CMake-GUI, accédez à la variable "SDL2_DIR" et pointez-la vers le répertoire SDL2 extrait.

Post-Solution :

SDL2 les en-têtes peuvent désormais être inclus simplement en écrivant #include "SDL.h" dans votre code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn