खिड़कियों में $ (शेल [फू])


1

मुझे एक मेकफाइल ('मेकफाइल' नामक एक फाइल मिली है, जिसे सीमेक मैं मानता हूं) द्वारा चलाया गया है, और अधिकांश 'सैंपल' जिन्हें मैं देख सकता हूं, वे सिर्फ एक लाइन हैं (और बाकी चीजें वे हैं जो मैं नहीं जानता हूं) अभी तक 'समझ और फिर यह एक ही लाइन।

include $(shell rospack find mk)/cmake.mk

(टर्मिनल रस्साक में [पैकेज] उक्त पैकेज का रास्ता खोजता है, और cmake.mk जाहिर तौर पर वह फ़ाइल है जिसमें इसे शामिल करना है)

मेरी समस्या यह है कि यह प्रतीत होता है (कम से कम मेरे लिए) एक लिनक्स सिस्टम में उपयोग के लिए लिखा जाना (जो मूल रूप से आरओ की संपूर्णता, मैं जिस कार्यक्रम के साथ काम कर रहा था, वह था) और खिड़कियों में यह सिर्फ कोशिश करने के लिए प्रकट होता है होने के लिए

include /cmake.mk

(जो अनिश्चित रूप से काम नहीं करता है)

मूल रूप से मुझे यह जानने की ज़रूरत है कि विंडोज़ में एक ही काम कैसे करें, आम तौर पर एक 'डायनेमिक' तरीके से, क्योंकि यह केवल लाइन के नीचे और अधिक समस्याएं पैदा करेगा अगर मुझे निर्देशिका पथ को हार्ड-कोडिंग करके यह काम मिलता है और फिर यह टूट जाता है क्योंकि इसकी भविष्य में कुछ समय ठीक से सेट नहीं)

ठीक है, इसलिए मैं यहां अपनी गहराई से थोड़ा बाहर हूं ... लेकिन मुझे वास्तव में कुछ काम करने की जरूरत है, क्योंकि मैं क्रिसमस के लिए अपने सप्ताह से अधिक जानने के लिए थोड़ा लेवे हूं।

इसलिए मुझे लगता है कि यह संभव नहीं है / विशेष रूप से कठिन है, हार्ड कोडिंग का एक तरीका यह एक स्टॉपगैप होगा

मैंने कोशिश की

include C:\[directory]\cmake.mk

लेकिन ऐसा लगता है कि मुद्दों के साथ ':'

जवाबों:


0

सबसे पहले, सत्यापित करें कि rospack find mkटर्मिनल प्रॉम्प्ट कार्यों पर बस कह रहा है ; आपको पहले अपना समायोजन करने की आवश्यकता हो सकती है %PATH%

फिर, आइए इस includeपंक्ति को किसी ऐसी चीज़ से बदलें जो cmakeक्रॉस-प्लेटफ़ॉर्म निष्पादन योग्य समर्थन का उपयोग करती है:

execute_process(COMMAND ${CMAKE_COMMAND} -E rospack find mk OUTPUT_VARIABLE ROSMKDIR)
include ${ROSMKDIR}/cmake.mk

(हैट टिप इस जवाब पर मुझे स्टैकओवरफ्लो पर मिली)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.