Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menyelesaikan Masalah Kemasukan Tajuk SDL2 dengan CMake?

Bagaimana untuk Menyelesaikan Masalah Kemasukan Tajuk SDL2 dengan CMake?

DDD
DDDasal
2024-11-04 07:01:31837semak imbas

How to Resolve SDL2 Header Inclusion Problems with CMake?

Menyelesaikan Isu Kemasukan SDL2 dengan CMake

Masalah:

Apabila membangunkan projek SDL2 dalam CLion, "#include < ;SDL.h>" tidak dapat mencari fail pengepala yang diperlukan.

Penyelesaian:

Untuk Sistem Linux:

  1. Pastikan versi CMake 3.7 atau lebih baru dipasang.
  2. Tambah baris berikut pada fail CMakeLists.txt anda:
<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>

Untuk Sistem Windows:

  1. Muat turun dan ekstrak pakej pembangunan SDL2.
  2. Buat fail bernama sdl-config.cmake dalam direktori yang diekstrak dengan kandungan berikut:
<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. Dalam aplikasi CMake-GUI, navigasi ke pembolehubah "SDL2_DIR" dan arahkannya ke direktori SDL2 yang diekstrak.

Penyelesaian Pasca:

SDL2 pengepala kini boleh disertakan hanya dengan menulis #include "SDL.h" dalam kod anda.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Masalah Kemasukan Tajuk SDL2 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