Bonjour, Habr. Récemment, je suis tombé sur une nouvelle série d'
articles sur sdl2, mais sans la procédure d'installation. Cela ne semble rien de compliqué, mais si vous êtes intéressé, alors allons-y ensemble le long du râteau qui peut nous attendre. Je vais installer pour xcode10 sur macOS 10.14.5, code :: blocks sur Ubuntu 18.04 et Visual Studio 2019 Windows 10. Vous pouvez bien sûr utiliser clion. Une idée sur tous les systèmes, mais pour une raison quelconque, je n'aime pas leur produit. Rien de personnel, juste du codage.
Pour vérification, j'utiliserai le code suivant.
#include <iostream> #include <SDL2/SDL.h> const int WIDTH = 800, HEIGHT = 600; int main( int argc, char *argv[] ) { SDL_Init( SDL_INIT_EVERYTHING ); SDL_Window *window = SDL_CreateWindow( "Hello SDL World", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, WIDTH, HEIGHT, SDL_WINDOW_ALLOW_HIGHDPI ); // Check that the window was successfully created if ( NULL == window ) { // In the case that the window could not be made... std::cout << "Could not create window: " << SDL_GetError( ) << std::endl; return 1; } SDL_Event windowEvent; while ( true ) { if ( SDL_PollEvent( &windowEvent ) ) { if ( SDL_QUIT == windowEvent.type ) { break; } } } SDL_DestroyWindow( window ); SDL_Quit( ); return EXIT_SUCCESS; }
Ubuntu
Nous avons mis du code :: blocs dans le magasin - il n'y a pas de surprise. Ensuite, créez un simple fichier mian.cpp pour le test.
#include <iostream> int main() { std::cout << "Hello, world!" << std::endl; return 0; }
Si vous n'allez pas compiler à partir du terminal, vous devez spécifier la cible dans les paramètres du projet.

Super. Ensuite, vous devez installer sdl2 lui-même. Nous écrivons dans le terminal
sudo apt install libsdl2-dev -y
Après l'installation, indiquez à ide que vous devez utiliser sdl2. Allons à la section "projet" -> "options de construction". Nous nous intéressons à l'onglet «Paramètres de l'éditeur de liens». Dans la fenêtre "autres options de l'éditeur de liens", ajoutez "-lSDL2".

Remplacez par notre
code . Génial, la fenêtre est en train d'être dessinée.

macOS
Pour l'installation, vous pouvez utiliser l'image d'installation du
site . À l'heure actuelle, la dernière version stable est 2.0.9.
Téléchargez et copiez dans le répertoire / Library / Frameworks. Une authentification peut être requise pour l'utilisation.
Exécutez xcode et sélectionnez le projet macOS de l'outil de ligne de commande. Nous donnons un nom au projet et choisissons le langage C ++.
Pour ajouter la prise en charge de sdl2, allez dans "Paramètres du projet" -> "Phases de construction" -> "Lier le binaire aux bibliothèques" et ajoutez un élément. Dans la fenêtre qui s'ouvre, sélectionnez "ajouter autre"

Ajoutez notre fichier /Library/Frameworks/SDL2.framework et pouvez vérifier.
Si vous préférez utiliser brew, n'oubliez pas qu'il n'installe que des bibliothèques statiques. Dans ce cas, passez l'indicateur -I / usr / local / include.
Tout fonctionne, allons plus loin.

Windows
Installez vs studio. Téléchargez la
bibliothèque . Décompressez le contenu et organisez où vous voulez. J'utilise très rarement des fenêtres, donc je ne sais pas où sont stockées toutes les autres bibliothèques.
Nous créons un projet avec un fichier cpp vide, ou une application console, comme vous le souhaitez.
Allez dans «projet» -> «propriétés» -> «C / C ++» -> «répertoires supplémentaires pour les fichiers inclus». Ajoutez le chemin d'accès au répertoire décompressé, en spécifiant include. Dans mon cas, \\ Mac \ Home \ Downloads \ SDL2-2.0.9 \ include est sorti, car J'ai une machine virtuelle.

Après cela, dans la section «éditeur de liens» -> «général» -> «répertoires de bibliothèque supplémentaires», vous devez spécifier le chemin d'accès à SDL2.dll, par exemple \\ Mac \ Home \ Downloads \ SDL2-2.0.9 \ lib \ x64.
Il ne reste plus grand chose, le "linker" -> "input" -> "dépendances supplémentaires" nous ajoutons ce que nous devons utiliser, SDL2.lib, SDL2main.lib, SDL2test.lib. Après cela, il est nécessaire de monter le projet. Une fois assemblé, copiez le fichier SDL2.dll à partir du répertoire lib \ x64 ou lib \ x32 et placez-le à côté du fichier exécutable. Essayez maintenant notre
code . Un autre point: parce que dans «répertoires supplémentaires des fichiers inclus», nous avons indiqué immédiatement le chemin vers les en-têtes connectés, puis
#include <SDL2/SDL.h>
remplacer par
#include <SDL.h>

Félicitations, nous avons compilé avec succès des applications pour les principales plates-formes. J'espère que vous n'aurez aucune difficulté à l'installer.