Компиляция простой программы 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
«Нет успеха» никому не помогает диагностировать вашу проблему.
Гарет Дэвидсон

Ответы:

188

Пытаться

g++ hw.cpp
./a.out

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

Да, Xcode - это определенно вариант. Это IDE с графическим интерфейсом, которая построена на основе GCC.

Хотя я предпочитаю немного более подробный подход:

#include <iostream>

int main()
{
    std::cout << "Hello world!" << std::endl;
}
Мартин Йорк
источник
17
@math: return 0неявно присутствует в main.
fredoverflow 01
3
@mathepic: и +1. В C ++ это не требуется. Если mainдоходит до конца функции без возврата, то она неявно возвращает 0.
Мартин Йорк
2
А, ладно. Я бы все равно использовал это для ясности.
альтернатива
4
@mathepic: Это 1 мнение. Лично мне кажется, что его проще не использовать.
Мартин Йорк
1
Почему a.out? В окнах ожидаю увидеть a.exe. В * nix нам не нужны расширения. Зачем использовать .out вместо расширения? aтоже странное имя по умолчанию.
P.Brian.Mackey 05
35
g++ hw.cpp -o hw
./hw
никто
источник
Из всех остальных этот отлично подошел мне. Спасибо.
Бруно Ресиллас
10
user@host> g++ hw.cpp
user@host> ./a.out
Сэм Миллер
источник
5

Для его компиляции gccнеобходимо указать несколько параметров командной строки. g++Вместо этого скомпилируйте его с помощью .

Игнасио Васкес-Абрамс
источник
2

В новой версии это должно выглядеть так:

xcrun g++ hw.cpp
./a.out
Badmanchild
источник
Это дает мне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» при установке инструментов разработки, поэтому исполняемые файлы командной строки не установлены на вашем пути. Переустановите инструменты разработки и не забудьте нажать «настроить» и установить этот флажок.

Стивен Кэнон
источник
1

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

Хосе Рохас
источник
1

Используйте следующее для нескольких файлов .cpp

g++ *.cpp
./a.out
туалет
источник