"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > CMake के साथ SDL2 का उपयोग करते समय शामिल अमान्य हेडर को कैसे ठीक करें?

CMake के साथ SDL2 का उपयोग करते समय शामिल अमान्य हेडर को कैसे ठीक करें?

2024-11-10 को प्रकाशित
ब्राउज़ करें:458

How to Fix Invalid Header Includes When Using SDL2 with CMake?

सीमेक के साथ एसडीएल2 का उपयोग करना: अमान्य हेडर को संबोधित करना शामिल है

सीएलआईओन और सीएमके का उपयोग करके किसी प्रोजेक्ट में एसडीएल2 को एकीकृत करते समय, डेवलपर्स को शामिल करने में कठिनाइयों का सामना करना पड़ सकता है असफल हेडर पथ रिज़ॉल्यूशन के कारण आवश्यक हेडर। इस लेख का उद्देश्य इस समस्या का समाधान करना और एक व्यापक समाधान प्रदान करना है।

प्रदान की गई CMakeLists.txt फ़ाइल में, SDL2 में निर्देशिका और पुस्तकालयों का पथ स्पष्ट रूप से सेट किया गया है:

set(SDL2_INCLUDE_DIR C:/SDL/SDL2-2.0.3/include)
set(SDL2_LIBRARY C:/SDL/SDL2-2.0.3/lib/x64)

हालाँकि, यह दृष्टिकोण इस धारणा पर निर्भर करता है कि निर्दिष्ट पथ सही हैं और सिस्टम के हेडर खोज पथ ठीक से कॉन्फ़िगर किए गए हैं।

इस समस्या को हल करने के लिए, हम CMake द्वारा प्रदान किए गए find_package() कमांड का उपयोग करने की सलाह देते हैं। यह कमांड स्वचालित रूप से SDL2 लाइब्रेरी की खोज करेगा और SDL2_INCLUDE_DIRS और SDL2_LIBRARIES सहित उचित चर सेट करेगा। ]

cmake_minimum_required(संस्करण 3.7) प्रोजेक्ट(SDL2टेस्ट) find_package(SDL2 REQUIRED)

cmake_minimum_required(VERSION 3.7)
project(SDL2Test)

find_package(SDL2 REQUIRED)

set(SDL2_INCLUDE_DIRS "${CMAKE_CURRENT_LIST_DIR}/include") # 32 और 64 बिट बिल्ड दोनों का समर्थन करें यदि (${CMAKE_SIZEOF_VOID_P} 8 से मेल खाता है) सेट(SDL2_LIBRARIES "${CMAKE_CURRENT_LIST_DIR}/lib/x64/SDL2.lib;${CMAKE_CURRENT_LIST_DIR}/lib/x64/SDL2main.lib") अन्य () सेट(SDL2_LIBRARIES "${CMAKE_CURRENT_LIST_DIR}/lib/x86/SDL2.lib;${CMAKE_CURRENT_LIST_DIR}/lib/x86/SDL2main.lib") एंडिफ़ () स्ट्रिंग(STRIP "${SDL2_LIBRARIES}" SDL2_LIBRARIES)

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)

#include #शामिल "SDL.h"

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3