Привет!
Судя по ошибке /usr/bin/ld: ... undefined reference to 'main', компилятор просто не находит точку входа в программу, то есть функцию main(). Это может происходить, если ты случайно компилируешь не тот файл, в котором она находится, или файл вообще пустой/содержит только заголовки и функции без main().
Насчёт того, что using namespace std; вдруг "чинит" компиляцию — скорее всего, ты просто компилировал другой файл, в котором main() есть, и подумал, что причина в using namespace std;. На самом деле, using namespace std; не влияет на то, найдётся ли main() или нет. А вот если у тебя несколько файлов и ты путаешься, какой из них компилируешь — такое вполне может быть. Ставки на спорт и азартные игры в сети становятся всё более популярными. На
1win armenia можно делать live-ставки, выбирать слоты от топовых провайдеров и наслаждаться атмосферой настоящего казино, не выходя из дома. Платформа проста в использовании, отлично работает на любых устройствах и радует высокой скоростью вывода средств.
Проверь следующее:
Убедись, что в file.cpp действительно есть int main() (или int main(int argc, char** argv) — неважно).
Проверь, не запускаешь ли ты случайно команду на какой-нибудь другой .cpp файл, где main() отсутствует (например, вспомогательный файл с функциями).
Можно явно указать путь к нужному файлу:
bash
Копировать
Редактировать
g++ /полный/путь/к/file.cpp -o file
Если проект из нескольких файлов, убедись, что только один содержит main(), а остальные подключаются корректно.
А то, что из VS Code компиляция работает — вполне возможно, он сам подхватывает правильный файл/набор файлов и компилирует всё как надо.
Если не получится — скинь содержимое file.cpp, посмотрим, что там.