Как мне скомпилировать C из кода Visual Studio в Mac OS? (Я могу сделать это только через терминал)

#c #macos #visual-studio-code #gcc

#c #macos #visual-studio-code #gcc

Вопрос:

Я могу написать C / C в текстовом редакторе (например, BBEdit), а затем использовать терминал для компиляции и запуска объектного кода.

g -o привет, привет.c

Но сейчас я экспериментирую с кодом Visual Studio в качестве IDE. Я не могу выполнить команду СБОРКИ и увидеть результат в среде IDE. Есть что-то в задачах.файл json.

Я попытался выполнить поиск в обсуждениях, но только еще больше запутался.

Кто-нибудь вообще это делает? Прямо сейчас Visual Studio Code просто стал модным текстовым редактором без встроенной компиляции.

(ДОПОЛНЕНИЕ ДЛЯ BBEdit)

Я подумал, что отредактирую этот пост, чтобы подробнее объяснить рабочий процесс для других пользователей, использующих BBEdit или аналогичные текстовые редакторы.

У меня есть AppleScripts, доступ к которым можно получить через меню BBEdit scripts. Есть два сценария. Один из них — сценарий СБОРКИ, а другой — сценарий запуска. Они берут текущее открытое имя файла и отправляют его на терминал для выполнения компиляции в g , и мне пришлось сделать два сценария, потому что я не мог заставить AppleScript распознавать команду Unix для объединения команд с помощью amp;amp;

Вот сценарий сборки. Вы можете отредактировать его с помощью редактора сценариев и поместить в папку Scripts, которую может видеть BBEdit:

 tell application "BBEdit" to set filePath to ((characters 8 thru -1 of (URL of document 1 as string)) as string)

tell application "Terminal"
    do script "g   " amp; filePath
end tell
 

и вот сценарий ЗАПУСКА

 tell application "BBEdit" to set filePath to ((characters 8 thru -1 of (URL of document 1 as string)) as string)

tell application "Terminal"
    activate
    do script "./a.out"
end tell
 

Чтобы сделать их доступными в качестве ярлыков, просто используйте настройки сочетаний клавиш Mac OS в разделе Системные префы и создайте два ярлыка для BBEdit. Я использовал SHIFT COMMAND B для сборки и R для ЗАПУСКА скрипта.

Комментарии:

1. пожалуйста, будьте более конкретны. Кроме того, если это то, что вы просите, перейдите в Terminal -> new terminal, чтобы открыть терминал

2. Официальная документация должна помочь, даже если вы используете gcc вместо clang: https://code.visualstudio.com/docs/cpp/config-clang-mac

3. Хорошо, спасибо, я снова просмотрю документы (я пробовал раньше)

4. Я просмотрел документы и теперь успешно получил его для компиляции и запуска. Спасибо за ссылку. Каким-то образом мне так и не удалось найти учебное пособие для Mac и я продолжал пытаться разобраться в Windows, адаптируя его для Mac (конечно, безуспешно!).).

Ответ №1:

Некоторые решения:

  1. Установите инструменты командной строки XCode (возможно, они у вас уже есть). Его компилятор C — clang вместо gcc. Поэтому вместо вызова gcc hello.c -o hello вы бы запустили clang hello.c -o hello . Это дополнительная замена.
  2. Установите homebrew, а затем установите gcc с помощью brew install gcc

Комментарии:

1. Спасибо, я не думаю, что у меня проблема с установленным компилятором. Я могу использовать его через терминал. Мне просто нужно настроить VSC для автоматического выполнения команд командной строки.

2. О, хорошо, теперь я понимаю. Я также являюсь активным пользователем vscode, и я обычно предпочитаю, Чтобы терминал (MobaXterm и т. Д.) Был Открыт в каталоге сборки и набирал make . Причина в том, что правильно настроить сборку действительно неудобно, и она будет меняться для каждого проекта. Кроме того, если вы используете cmake, вам все равно придется вводить команды настройки в терминале.

3. Рассматривали ли вы Visual Studio (не Code)? VS работает немного по-другому и обрабатывает всю сборку и настройку гораздо более интегрированным способом с IDE

4. Хорошо, я начинаю понимать, почему вы сказали, что сборка может меняться для каждого проекта. Затем вам нужно отредактировать файл tasks JSON правильно? По крайней мере, это мой текущий уровень понимания. Я установил Studio, но потом узнал (неправильно?) что Microsoft не поддерживает C на Mac, и все, что я нашел, это поддержка C # / NET и другие вещи, но не C , поэтому я удалил его и просто сосредоточился на КОДЕ.