कमांड लाइन के माध्यम से ओएस एक्स पर सरल हैलो वर्ल्ड कार्यक्रम का संकलन


101

मुझे एक साधारण हैलो वर्ल्ड उदाहरण मिला है जिसे मैं ओएस एक्स पर संकलित करने की कोशिश कर रहा हूं, जिसका नाम है hw.cpp:

#include <iostream>
#include <string>
using namespace std;
int main() {
  cout << "Hello world!" << endl;
  return 0;
}

मैं इसका उपयोग करके संकलन करना चाहूंगा gcc, लेकिन मुझे कोई सफलता नहीं मिली। मैं अन्य विकल्पों को भी सुनना चाहूंगा, जैसे Xcode का उपयोग करना?


7
"कोई सफलता नहीं" वास्तव में किसी को भी आपकी समस्या का निदान करने में मदद नहीं करता है।
गैरेथ डेविडसन

जवाबों:


187

प्रयत्न

g++ hw.cpp
./a.out

g++CCC के लिए C ++ कंपाइलर फ्रंटेंड है।
gccसीसीसी के लिए सी कंपाइलर फ्रंट है।

हां, Xcode निश्चित रूप से एक विकल्प है। यह एक जीयूआई आईडीई है जो जीसीसी के शीर्ष पर बनाया गया है।

हालांकि मैं थोड़ा और अधिक मौखिक दृष्टिकोण पसंद करता हूं:

#include <iostream>

int main()
{
    std::cout << "Hello world!" << std::endl;
}

17
@ मथ: return 0मुख्य में निहित है।
22

3
@mathepic: और +1। C ++ में इसकी आवश्यकता नहीं है। यदि mainकोई रिटर्न पकड़े बिना फ़ंक्शन के अंत तक पहुंचता है, तो यह संक्षेप में 0.
मार्टिन यॉर्क

2
ठिक है। मैं अभी भी स्पष्टता के लिए इसका इस्तेमाल करूंगा।
वैकल्पिक

4
@ मथेपिक: यह 1 राय है। व्यक्तिगत रूप से मुझे इसका उपयोग न करने के लिए स्पष्ट है।
मार्टिन न्यूयॉर्क

1
क्यों a.out? खिड़कियों में मुझे देखने की उम्मीद है a.exe। * Nix में हमें एक्सटेंशन की आवश्यकता नहीं है। एक्सटेंशन का उपयोग क्यों नहीं किया जाता है? aएक अजीब डिफ़ॉल्ट नाम भी है।
पी। ब्रायन। मैके




2

इसका नया संस्करण इस तरह पढ़ना चाहिए:

xcrun g++ hw.cpp
./a.out

यह मुझे देता हैld: can't link with a main executable file './a.out' for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
Eddified

@ चूहा-ए-तात-ए-तत अफ़सोस मुझे याद नहीं है, 3 साल पहले था।
14

1

आपने निर्दिष्ट नहीं किया कि आप क्या त्रुटि देख रहे हैं।

क्या समस्या gccहै जो आपको एक त्रुटि दे रही है, या कि आप बिल्कुल भी नहीं चल सकते हैं gcc?

यदि यह बाद की बात है, तो सबसे अधिक संभावना यह है कि आपने विकास उपकरण स्थापित करते समय "UNIX डेवलपमेंट सपोर्ट" की जांच नहीं की थी, इसलिए कमांड-लाइन एक्ज़ीक्यूटेबल्स आपके पथ में स्थापित नहीं हैं। विकास उपकरण फिर से स्थापित करें, और "अनुकूलित करें" पर क्लिक करें और उस बॉक्स को जांचें।


1

इसके अलावा, आप एक IDE जैसे CLion (JetBrains) या एटम की तरह एक टेक्स्ट एडिटर का उपयोग कर सकते हैं, gpp-compiler plugin के साथ, आकर्षण (F5 to compile & execute) की तरह काम करता है।


1

एकाधिक .cpp फ़ाइलों के लिए निम्न का उपयोग करें

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