@rogry_soft
Начинающий разработчик

Не компилируется Hello, world на C на MacBook (VS Code). Что делать?

Нам в универе на д/з задали написать программку на языке C. Ну я вот и решил сначала, чтобы разобраться в самом языке хоть немного, написать простенький Hello, world, но ничего не получается уже второй день. Начну сначала:

Я скачал VS Code на MacBook. Среда разработки - есть.
Далее, я создал папку, которую назвал HW Proj и через VS Code в ней открыл файл, который назвал hello.c
К слову, у меня скачано расширение C/C++, которое мне предложил сам VS Code, а также скачан Xcode и расширение к нему, которое я скачивал при первом открытии Visual Studio 2019 (его я также скачал и он мне предложил это расширение, я скачал)
После чего я открыл в VS Code эту папку (Open Folder) и в ней открыл этот файл. Прописал этот код:

#include <stdio.h>
int main ()
{
    printf("Hello, world!\n");
    return 0;   
}


Помимо этого, перед написанием программки я в терминале (пробывал и во встроенном от macOS и от VS Code) прописал clang --version (так писало в гайде)
После того как я написал код, я проверял через cd ~ (в терминале) чтобы убедится, работаю ли я в том каталоге. Спойлер: ни разу не увенчалось успехом, вне зависимости от терминала. У меня тупо ничего не происходило. Выглядело это так:
Apple clang version 12.0.5 (clang-1205.0.22.11)
Target: x86_64-apple-darwin20.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
rogry@MacBook-Pro-Roman HW Proj % cd ~


Ну, я закрыл на это глаза, тк уже просто кипел мозг и просто вписал make hello в терминале.
Мне должно было высветлить "cc hello.c -o hello", но вместо этого мне выдавало ошибку
make***: No rule to make target 'hello'. Stop.

Еще был момент, когда была другая ошибка.
You have not agreed to the Xcode license agreements. You must agree to both license agreements below in order to use Xcode.

Press the 'return' key to view the license agreements at '/Applications/Xcode.app/Contents/Resources/English.lproj/License.rtf'

Xcode and Apple SDKs Agreement


Я скачал приложение Xcode и там дал разрешение на то что меня просили (также и в терминале делал, даже пароль вводил), но все чётно.

Вот, на чем я закончил:
By typing 'agree' you are agreeing to the terms of the software license agreements. Type 'print' to print them or anything else to cancel, [agree, print, cancel] 
You can view the license agreements in Xcode's About Box, or at /Applications/Xcode.app/Contents/Resources/English.lproj/License.rtf

rogry@MacBook-Pro-Roman ~ % agree
zsh: command not found: agree
rogry@MacBook-Pro-Roman ~ % make hello
make: *** No rule to make target `hello'.  Stop.
rogry@MacBook-Pro-Roman ~ %


И здесь у меня уже опустились руки. Я в полном отчаянии и не знаю что делать. Даже на Hello, world на С я не способен, видимо. Также, я не понимаю как задать в терминале, чтобы я работал в Desktop/Нужная папка (хотя я прописывал весь путь), вместо этого я всегда работаю почему-то в InstalledDir: /Library/Developer/CommandLineTools/usr/bin.

UPD: Удалил терминал и прописал заново (с учётом того что посоветовали в комментариях). Уже лучше (как мне кажется), но есть другая ошибка.
Сам код:
#include <stdio.h>

int main ()
{
    printf("Hello, world!\n");

    return 0;   
}


Терминал:
rogry@MacBook-Pro-Roman HW Proj % cd ~/Desktop/HW\ Proj
rogry@MacBook-Pro-Roman HW Proj % make hello
cc     hello.c   -o hello
Undefined symbols for architecture x86_64:
  "_main", referenced from:
     implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [hello] Error 1
rogry@MacBook-Pro-Roman HW Proj %
  • Вопрос задан
  • 205 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы