Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menyelesaikan Ralat Rujukan Tidak Ditakrifkan Apabila Menggunakan SDL2 dan SDL_image dengan CMake?

Bagaimana untuk Menyelesaikan Ralat Rujukan Tidak Ditakrifkan Apabila Menggunakan SDL2 dan SDL_image dengan CMake?

Susan Sarandon
Lepaskan: 2024-11-05 19:46:02
asal
914 orang telah melayarinya

How to Solve Undefined Reference Error When Using SDL2 and SDL_image with CMake?

Cara Menggunakan SDL2 dan SDL_image dengan CMake (Ralat Selesai)

Dalam panduan ini, kami akan menyediakan penyelesaian untuk isu yang dihadapi apabila cuba menggunakan SDL2 dan SDL_image dengan CMake.

Asal Masalah:

Apabila cuba menyusun atur cara C menggunakan SDL2 dan SDL_image dengan CMake, rujukan yang tidak ditentukan kepada IMG_LoadTexture ditemui.

Penyelesaian yang Diperbaiki:

Untuk menangani isu ini, kami boleh mengubah suai CMakeLists.txt sebagai berikut:

<code class="cmake">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})</code>
Salin selepas log masuk

Penjelasan:

  • Kami menggunakan FindPkgConfig untuk mencari dan menggunakan perpustakaan sistem yang sesuai.
  • PKG_SEARCH_MODULE digunakan untuk cari SDL2 dan SDL2_image dan konfigurasikan laluan termasuk dan perpustakaan.
  • Perhatikan bahawa nilai Nama dalam /usr/lib/x86_64-linux-gnu/pkgconfig/SDL2_image.pc sepadan dengan parameter ketiga kepada PKG_SEARCH_MODULE untuk perpustakaan ini.

Melaksanakan perubahan ini harus menyelesaikan isu pemautan dan membenarkan program menggunakan SDL2 dan SDL_image berjaya.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Rujukan Tidak Ditakrifkan Apabila Menggunakan SDL2 dan SDL_image dengan CMake?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan