Компіляція простої програми Hello World на OS X за допомогою командного рядка


101

У мене є простий приклад світового привіт, який я намагаюся скомпілювати на OS X, з назвою hw.cpp:

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

Я хотів би скласти його за допомогою gcc, але у мене не було успіху. Я також хотів би почути інші варіанти, наприклад, використання Xcode?


7
"Немає успіху" насправді нікому не допомагає діагностувати вашу проблему.
Gareth Davidson

Відповіді:


187

Спробуйте

g++ hw.cpp
./a.out

g++є інтерфейсом компілятора C ++ до GCC.
gccє інтерфейсом компілятора C до GCC.

Так, Xcode - це точно варіант. Це графічний інтерфейс графічного інтерфейсу, який побудований поверх GCC.

Хоча я віддаю перевагу дещо детальнішому підходу:

#include <iostream>

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

17
@math: return 0мається на увазі в main.
fredoverflow

3
@mathepic: і +1. Це не потрібно в C ++. Якщо mainфункція досягає кінця, не натискаючи повернення, вона неявно повертає 0.
Мартін Йорк,

2
Ага, добре. Я б все-таки використовував його для наочності.
альтернатива

4
@mathepic: Це одна думка. Особисто мені стає зрозумілішим не використовувати його.
Мартін Йорк,

1
Чому a.out? У вікнах я очікую побачити a.exe. У * nix нам не потрібні розширення. Навіщо використовувати .out над розширенням? aтеж дивна назва за замовчуванням.
P.Brian.Mackey 05.03.15




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

@ Rat-a-tat-a-tat вибачте, не пам’ятаю, було 3 роки тому.
Eddified

1

Ви не вказали, у чому полягає помилка.

Проблема, яка gccвидає вам помилку, або що ви взагалі не можете запустити gcc?

Якщо це останнє, найбільш вірогідним поясненням є те, що ви не встановили «Підтримка розробки UNIX» під час встановлення засобів розробки, тож виконувані файли командного рядка не встановлені на вашому шляху. Повторно встановіть засоби розробки та натисніть "налаштувати" та встановіть цей прапорець.


1

Крім того, ви можете використовувати IDE, як CLion (JetBrains) або текстовий редактор, такий як Atom, з плагіном gpp-compiler, який працює як шарм (F5 для компіляції та виконання).


1

Використовуйте наступне для декількох файлів .cpp

g++ *.cpp
./a.out
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.