Qt क्रिएटर - प्रोजेक्ट त्रुटि: Xcode ठीक से सेट नहीं किया गया है। आपको / usr / bin / xcodebuild को चलाकर लाइसेंस समझौते की पुष्टि करने की आवश्यकता हो सकती है


121

मैंने अभी Qt 5.5 स्थापित किया है और OS X पर पहली बार Qt क्रिएटर का उपयोग कर रहा हूं। जब मैंने पहली बार Qt स्थापित किया, तो इसने मुझे एक त्रुटि संदेश 'Xcode 5 इंस्टॉल नहीं किया' जो मुझे लगा कि अजीब था, (मेरे पास Xcode 7 बीटा है) , लेकिन इंस्टॉल सफलतापूर्वक पूरा हो गया।

अब, जब मैं एक परियोजना शुरू करता हूं या खोलता हूं, मुझे त्रुटि मिलती है:

प्रोजेक्ट त्रुटि: Xcode ठीक से सेट नहीं किया गया है। आपको / usr / bin / xcodebuild को चलाकर लाइसेंस समझौते की पुष्टि करने की आवश्यकता हो सकती है।

जब मैं /usr/bin/xcodebuildटर्मिनल में दौड़ता हूं , तो मुझे निम्नलिखित मिलते हैं:

xcode- चयन: त्रुटि: टूल 'xcodebuild' के लिए Xcode की आवश्यकता होती है, लेकिन सक्रिय डेवलपर निर्देशिका '/ Library / Developer / CommandLineTools' एक कमांड लाइन उपकरण उदाहरण है

मुझे यकीन नहीं है कि Xt का Qt क्रिएटर के साथ क्या करना है, जब तक कि इसे क्रॉस-प्लेटफॉर्म संगतता के लिए पुस्तकालयों तक पहुंचने के साथ कुछ नहीं करना है, लेकिन क्या इस मुद्दे को ठीक करने का कोई तरीका है?


3
नोट: Qt 5.7.1 और Xcode 8.2.1 के लिए @ rudolf-ratusinski द्वारा जवाब हालांकि पूरी तरह से काम करता है। स्वीकृत जवाब से काम नहीं चलता।
एलेक्सी कामेन्सकी

@ rudolf-ratusinski उत्तर अभी भी Xcode 11.2.1 पर काम करता है
AJC

जवाबों:


275

> = Xcode 8

Xcode 8 में, जैसा कि ब्रूस ने कहा, ऐसा तब होता है जब Qt खोजने की कोशिश करता है xcrunजब उसे ढूंढना चाहिए xcodebuild

फ़ाइल खोलें:

Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prf

बदलने के:

isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null")))

साथ में:

isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")))

~> Xcode 8

Xcode 8 से पहले, यह समस्या तब होती है जब Xcode स्थापित होने के बाद कमांड लाइन टूल इंस्टॉल किए जाते हैं। क्या होता हैXcode-select डेवलपर निर्देशिका को इंगित किया जाता है /Library/Developer/CommandLineTools

Xcode-selectकमांड के साथ सही Xcode डेवलपर निर्देशिका को इंगित करें:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

आदेश के साथ लाइसेंस समझौते की पुष्टि करें:

sudo xcodebuild -license

यह आपको लाइसेंस समझौते के माध्यम से पढ़ने के लिए प्रेरित करेगा।

agreeशर्तें स्वीकार करने के लिए दर्ज करें ।


4
मुझे त्रुटि xcode-select मिली: त्रुटि: अमान्य डेवलपर निर्देशिका '/Applications/Xcode.app/Contents/Developer'
मोहम्मद रफीक

14
मेरे लिए Xcode 8 के साथ काम नहीं करता। मैंने इन निर्देशों के माध्यम से लाइसेंस स्वीकार कर लिया है और अभी भी वही त्रुटि प्राप्त करता है।
वायलेट जिराफ़

1
धन्यवाद, XCode 8 के साथ default_pre.pr. संपादन के बाद यह काम करता है!
लिबोर बी।

11
उन लोगों के लिए जो इंस्टॉलेशन फ़ोल्डर है: यह आपके पैकेज मैनेजर की सेटिंग पर निर्भर करेगा: होमब्रेक के लिए usr / local / Cellar / qt55, macports के लिए / opt / local / libexec / qt5 (-mac)।
योगोदोशी

3
Homebrew के साथ, qt@5.5 (जो रूबी capybara मणि के लिए आवश्यक है) स्थापित करने के बाद, मैं प्रासंगिक पाया default_pre.prfफ़ाइल पर: /usr/local/Cellar/qt@5.5/5.5.1/mkspecs/features/mac/default_pre.prf। मैंने रुडोल्फ रैटूसिस्की के दृष्टिकोण की भी कोशिश की, और जब यह मुझे पहले कूबड़ से मिला, तो बाद में यह कई अजीब संदेशों में बदल गया, जब मुझे इसके बजाय इस दृष्टिकोण का उपयोग करने के लिए नहीं मिला।
बेन हॉकिंग

81

यदि आप की सामग्री बदलते हैं Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prf तो यह केवल डेस्कटॉप किट के लिए काम करेगा, पूर्व के लिए नहीं। सिम्युलेटर।

सिमिलर बनाने का एक बेहतर तरीका है:

cd /Applications/Xcode.app/Contents/Developer/usr/bin/
sudo ln -s xcodebuild xcrun

इसलिए आपको सभी लक्ष्यों के लिए .prf फ़ाइलों को बदलना नहीं है।


1
मैं इस संस्करण को पसंद करता हूं, इसलिए यह सीएफजी फ़ाइलों को संपादित करने की तुलना में कम गन्दा लगता है।
tjeden

3
यह बाद में समस्याओं का कारण बनता है जब xcrun xcodebuild (लापता पैरामीटर -f) द्वारा समर्थित नहीं मापदंडों के साथ लगाया जाता है।
mrAlmond

3
यह एक qt मुद्दा लगता है। तो मैं अधिक खतरनाक पर विचार कर रहा हूँ एक qt conf फ़ाइल को बदलने की तुलना में xcode डिस्ट्रीब्यूट के अंदर एक स्थायी सिम लिंक जोड़ना जो कि Qt 5.7.1 द्वारा प्रतिस्थापित किया जाएगा
ALoopingIcon

1
ऐसा मत करो, यह मेरे iphone app परियोजना गड़बड़।
चिचवि

1
मैंने इसे जल्द ही अपग्रेड कर लिया और इसे लॉक कर दिया ... मैं पैरामीटर -f मुद्दे में भाग गया।
बुविविजे

26

यह चाल चलेगा:

#sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

इसे अपने टर्मिनल में चलाएं।


Xcode8 में काम करता है और अन्य चरणों की तुलना में आसान है। धन्यवाद!
मीशा

पुष्टि की यह macOS Sierra 10.12.4 पर Xcode 8 के साथ काम करता है - धन्यवाद!
डायलन पियर्स

1
यह अभी भी MacOS हाई सिएरा 10.13.5 पर Xcode 9.4.1 के साथ काम कर रहा है - धन्यवाद!
d1jhoni1b

XOS 11.3 के साथ macOS Catalina 10.15.2 में इस काम की पुष्टि की।
RNickMcCandless

11

Xcode 8 के उपयोगकर्ताओं के लिए, एक और समस्या है। Qt 5.7.1 जारी होने तक एक अस्थायी समाधान के लिए यहां देखें:

https://forum.qt.io/topic/71119/project-error-xcode-not-set-up-properly

संक्षेपित करते हुए:

Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prfएक पाठ संपादक में खोलें , और इसे बदलें:

isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null"))))

इसके साथ:

isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")))

4

यदि आप XCode 8.x के साथ स्रोत से Qt का निर्माण करते हैं, तो आपको qt-everywhere-enterprise-src-5.7.0/qtbase/configureलाइन 551 पर फ़ाइल में "-find" तर्क को बदलना होगा ताकि वह ऐसा दिखे:

if ! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1; then

2

Xcode के पूर्ण संस्करण को स्थापित करने, इसे शर्तों से सहमत करने, फिर उपयोग करके इसे हल करने का प्रबंधन किया गया xcode-select --reset

मूल रूप से समस्या यह है कि जिस xcode पर आप इशारा कर रहे हैं /Library/Developer/CommandLineToolsवह आपको नियमों और शर्तों को स्वीकार करने की अनुमति नहीं देता है। इसलिए लोकेशन को इनस्टॉल और रिसेट करने के बाद सब ठीक होना चाहिए


0

मेरे लिए, सही ढंग से काम करने का एकमात्र तरीका '#' के साथ xcrun के बारे में पंक्तियों पर टिप्पणी करना है:

# Make sure Xcode is set up properly
#isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null"))): \
    #error("Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.")

फ़ाइल में: Qt_install_folder / 5.7 / clang_64 / mkspecs / features / mac / default_pre.prf


0

बस "यह मेरे लिए काम किया" की भावना में बहुत सारे पुराने उत्तरों को जोड़ने के लिए मैंने पाया कि Xcode लॉन्च करने से, मेरे डेवलपर खाते में लॉग इन करना (बस एक मुक्त होना) और फिर "लोकेशन" में कमांड टूल सेट करना । मुझे मिल सकता है

'sudo / usr / bin / xcodebuild -license सहमत'

काम करने के लिए। यानी इसने कमांड लाइन में एक सहमत प्रक्रिया शुरू की और मैं सभी 14 स्किलियन पृष्ठों के सामान को सावधानीपूर्वक पढ़ने के बाद सहमत हुआ।

मुझे कुछ भी संपादित नहीं करना था।

मेरा सिस्टम Mojave 10.14.6 और Xcode 10.3 (10G8) है।

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