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
Libérer: 2024-11-04 07:01:31
original
914 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion
  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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal