การรวบรวมโปรแกรม Hello World อย่างง่ายบน OS X ผ่านบรรทัดคำสั่ง


102

ฉันมีตัวอย่างง่ายๆของ hello world ที่ฉันพยายามรวบรวมบน OS X ชื่อhw.cpp:

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

ฉันต้องการรวบรวมโดยใช้gccแต่ฉันไม่ประสบความสำเร็จ ฉันต้องการฟังตัวเลือกอื่น ๆ เช่นใช้ Xcode หรือไม่


7
"ไม่ประสบความสำเร็จ" ไม่ได้ช่วยให้ทุกคนสามารถวินิจฉัยปัญหาของคุณได้อย่างแท้จริง
Gareth Davidson

คำตอบ:


191

ลอง

g++ hw.cpp
./a.out

g++เป็นส่วนหน้าคอมไพเลอร์ C ++ ไปยัง GCC
gccเป็นส่วนหน้าคอมไพเลอร์ C ไปยัง GCC

ใช่ Xcode เป็นตัวเลือกอย่างแน่นอน เป็น GUI IDE ที่สร้างขึ้นจาก GCC

แม้ว่าฉันจะชอบวิธีการที่ละเอียดกว่าเล็กน้อย:

#include <iostream>

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

17
@math: return 0เป็นนัยหลัก
fredoverflow

3
@mathepic: และ +1 ไม่จำเป็นต้องใช้ใน C ++ ถ้าmainถึงจุดสิ้นสุดของฟังก์ชันโดยไม่กดปุ่มรีเทิ
ร์น

2
อ่าโอเค ฉันยังคงใช้เพื่อความชัดเจน
ทางเลือกใน

4
@mathepic: นั่นคือ 1 ความเห็น โดยส่วนตัวแล้วฉันพบว่ามันชัดเจนกว่าที่จะไม่ใช้มัน
Martin York

1
ทำไมa.out? ใน Windows a.exeผมคาดหวังที่จะเห็น ใน * nix เราไม่ต้องการส่วนขยาย เหตุใดจึงใช้. out โดยไม่มีส่วนขยาย? aเป็นชื่อเริ่มต้นแปลก ๆ เช่นกัน
P. Brian Mackey



5

การรวบรวมด้วยgccคุณจะต้องผ่านตัวเลือกบรรทัดคำสั่งจำนวนมาก รวบรวมไว้ด้วยg++แทน


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)
แก้ไข

@ Rat-a-tat-a-tat ขอโทษค่ะจำไม่ได้เมื่อ 3 ปีที่แล้ว
แก้ไขเมื่อ

1

คุณไม่ได้ระบุว่าข้อผิดพลาดที่คุณเห็นคืออะไร

ปัญหาที่gccทำให้คุณมีข้อผิดพลาดหรือคุณไม่สามารถทำงานgccได้เลย?

หากเป็นอย่างหลังคำอธิบายที่เป็นไปได้มากที่สุดคือคุณไม่ได้ตรวจสอบ "UNIX Development Support" เมื่อคุณติดตั้งเครื่องมือการพัฒนาดังนั้นจึงไม่ได้ติดตั้งไฟล์ปฏิบัติการบรรทัดคำสั่งในเส้นทางของคุณ ติดตั้งเครื่องมือการพัฒนาอีกครั้งและอย่าลืมคลิก "ปรับแต่ง" และทำเครื่องหมายในช่องนั้น


1

นอกจากนี้คุณสามารถใช้ IDE เช่น CLion (JetBrains) หรือโปรแกรมแก้ไขข้อความเช่น Atom โดยใช้ปลั๊กอินคอมไพเลอร์ gpp ซึ่งทำงานได้อย่างมีเสน่ห์ (F5 เพื่อรวบรวมและดำเนินการ)


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.