Компиляция простой программы 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



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» при установке инструментов разработки, поэтому исполняемые файлы командной строки не установлены на вашем пути. Переустановите инструменты разработки и не забудьте нажать «настроить» и установить этот флажок.


1

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


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.