Heim > Backend-Entwicklung > C++ > Wie integriere ich SDL2 und SDL_image mit CMake?

Wie integriere ich SDL2 und SDL_image mit CMake?

Barbara Streisand
Freigeben: 2024-11-05 17:58:02
Original
697 Leute haben es durchsucht

How to Integrate SDL2 and SDL_image with CMake?

Verwendung von CMake zur Integration von SDL2 und SDL_image

In diesem Artikel befassen wir uns mit der Frage der Kompilierung eines C-Programms, das SDL2 und SDL_image verwendet mit CMake. Nach gründlicher Untersuchung entstand das folgende optimierte CMake-Skript:

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

Dieses CMake-Skript lokalisiert effektiv die erforderlichen Bibliotheken auf Ubuntu-Systemen und ermöglicht die erfolgreiche Verknüpfung der bereitgestellten Beispielfunktion:

#include "SDL.h"
#include "SDL_image.h"

SDL_Texture* loadTexture(const std::string &file, SDL_Renderer *ren){
    SDL_Texture *texture = IMG_LoadTexture(ren, file.c_str());
    texture != nullptr or die("LoadTexture");
    return texture;
}
Nach dem Login kopieren

Beim Ausführen von CMake mit dem Flag --debug-output wird die folgende Ausgabe generiert:

-- Found PkgConfig: /usr/bin/pkg-config (found version "0.26") 
Called from: [2]    /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake
            [1] $USER/stack-overflow/cmake-sdl2-image/CMakeLists.txt
-- checking for one of the modules 'sdl2'
Called from: [1]    $USER/stack-overflow/cmake-sdl2-image/CMakeLists.txt
-- checking for one of the modules 'SDL2_image>=2.0.0'
Called from: [1]    $USER/stack-overflow/cmake-sdl2-image/CMakeLists.txt
Nach dem Login kopieren

Eine weitere Untersuchung der entsprechenden pkgconfigs ergab, dass SDL2_image.pc die Zeile Name: SDL2_image enthält, die mit dem übereinstimmt Dritter Parameter von PKG_SEARCH_MODULE.

Das obige ist der detaillierte Inhalt vonWie integriere ich 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