Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengintegrasikan SDL2 dan SDL_image dengan CMake?

Bagaimana untuk Mengintegrasikan SDL2 dan SDL_image dengan CMake?

Barbara Streisand
Barbara Streisandasal
2024-11-05 17:58:02611semak imbas

How to Integrate SDL2 and SDL_image with CMake?

Menggunakan CMake untuk Mengintegrasikan SDL2 dan SDL_image

Dalam artikel ini, kami akan menangani isu penyusunan program C yang menggunakan SDL2 dan SDL_image menggunakan CMake. Selepas penyiasatan menyeluruh, skrip CMake yang dioptimumkan berikut muncul:

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})

Skrip CMake ini secara berkesan mengesan perpustakaan yang diperlukan pada sistem Ubuntu, membolehkan pemautan berjaya bagi fungsi contoh yang disediakan:

#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;
}

Setelah melaksanakan CMake dengan bendera --debug-output, output berikut dihasilkan:

-- 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

Penyiasatan lanjut ke atas pkgconfigs yang sepadan mendedahkan bahawa SDL2_image.pc mengandungi baris Nama: SDL2_image, yang sejajar dengan parameter ketiga PKG_SEARCH_MODULE.

Atas ialah kandungan terperinci Bagaimana untuk Mengintegrasikan SDL2 dan SDL_image dengan CMake?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn