Я хочу написать очень простые программы на C++, но я получаю ошибки. У меня нет большого опыта работы с C++ (и gcc), и простые руководства в Интернете также не обсуждают эту тему.Компиляция кода на C++ на Mac
Пожалуйста, посмотрите на мой простой привет мир программы:
erik2:~[03:38 pm]$ cat hw.cpp
#include <iostream>
int main()
{
cout<<"Hello World!";
return 0;
}
erik2:~[03:38 pm]$ gcc hw.cpp
hw.cpp: In function ‘int main()’:
hw.cpp:5: error: ‘cout’ was not declared in this scope
В ответ на ответы до сих пор (спасибо много), я положил обратно имен declaratation, но это не приводит к (!) в успехе, хотя:
erik2:~[03:51 pm]$ cat hw.cpp
using namespace std;
#include <iostream>
int main()
{
cout<<"Hello World!";
return 0;
}
erik2:~[03:51 pm]$ gcc hw.cpp
Undefined symbols:
"___gxx_personality_v0", referenced from:
___gxx_personality_v0$non_lazy_ptr in ccphDFtO.o
"std::ios_base::Init::~Init()", referenced from:
___tcf_0 in ccphDFtO.o
"std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)", referenced from:
_main in ccphDFtO.o
"std::ios_base::Init::Init()", referenced from:
__static_initialization_and_destruction_0(int, int)in ccphDFtO.o
"std::cout", referenced from:
__ZSt4cout$non_lazy_ptr in ccphDFtO.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Основываясь на [FAQ] (http://apple.stackexchange.com/faq), этот вопрос не по теме. – kiamlaluno
Помимо 'using namespace std;', вы должны использовать команду 'g ++' вместо 'gcc' для компиляции программ на C++. – Jesper
@kiamlaluno: Спасибо и извините за то, что они не читали их перед публикацией там! – erikbwork