Как я могу скомпилировать / запустить C или C ++ в консоли Unix или терминале Mac?
(Я знаю это, забудь об этом и заново изучи. Время записать.)
Если это простая программа с одним исходным кодом:
make foo
где исходный файл - foo.c или foo.cpp и т. д.
Вам даже не нужен make-файл. Make имеет достаточно встроенных правил для сборки вашего исходного файла в исполняемый файл с тем же именем, за исключением расширения.
Запуск только что созданного исполняемого файла аналогичен запуску любой программы, но чаще всего вам потребуется указывать путь к исполняемому файлу, поскольку оболочка будет искать только то, что находится, $PATH
чтобы найти исполняемые файлы, и чаще всего это не включает текущий каталог ( .
).
Итак, чтобы запустить встроенный исполняемый файл foo
:
./foo
make main.cpp
, ноmake main
.источник
Undefined symbols for architecture x86_64
касается вопроса, я изменяю команду следующим образом:,gcc -lstdc++ main.cpp -o main.out
и это работает на моем Mac. по ссылке: stackoverflow.com/questions/11852568/…Эта команда работает на всех машинах Unix ... Я использую ее в Linux / Ubuntu, но она работает и в OS X. Введите следующую команду в Terminal.app .
-o
буква О не нольlab21
будет вашим исполняемым файломiterative.cpp
это ваш файл C ++После запуска этой команды введите в терминале следующую команду:
источник
Два шага для меня:
первый:
затем:
источник
./foo
не знаю, как принятый ответ не имеет этой важной командыВыполнение всех приложений в среде Unix (Linux, Mac OS X, AIX и т. Д.) Зависит от пути поиска исполняемого файла.
Вы можете отобразить этот путь в терминале с помощью этой команды:
В Mac OS X (по умолчанию) будет отображаться следующий путь поиска, разделенный двоеточиями:
Таким образом, любой исполняемый файл в перечисленных каталогах можно запустить, просто введя их имя. Например:
Это запускает
/bin/cat
и отображает mytextfile.txt на терминал.Для запуска любой другой команды, которой нет в пути поиска исполняемого файла, необходимо указать путь к исполняемому файлу. Допустим, в моем домашнем каталоге на Mac OS X есть исполняемый файл MyProgram, который можно полностью квалифицировать следующим образом:
Если вы находитесь в месте, которое находится рядом с программой, которую вы хотели выполнить, вы можете указать имя с частичным путем. Например, если я
MyProgram
находился в каталоге/Users/oliver/MyProject
I и я был в моем домашнем каталоге, я могу определить имя исполняемого файла следующим образом и заставить его выполнить:Или, скажем, я был в каталоге,
/Users/oliver/MyProject2
и я хотел выполнить,/Users/oliver/MyProject/MyProgram
я могу использовать относительный путь, как это, чтобы выполнить его:Точно так же, если я нахожусь в той же директории, где
MyProgram
мне нужно использовать относительный путь «текущей директории». Текущий каталог, в котором вы находитесь, - это точка, за которой следует косая черта. Например:Чтобы определить, в каком каталоге вы сейчас находитесь, используйте
pwd
команду.Если вы обычно размещаете программы на жестком диске, которые вы хотите запускать без указания их имен. Например, если в вашем домашнем каталоге есть каталог «bin» для регулярно используемых сценариев оболочки других программ, может быть целесообразно изменить путь поиска исполняемого файла.
Это можно легко сделать путем создания или редактирования существующего
.bash_profile
файла в вашем домашнем каталоге и добавления строк:Здесь символ тильды (~) используется в качестве ярлыка для / Users / oliver. Также обратите внимание, что строка хеш-взрыва (#!) Должна быть первой строкой файла (если она еще не существует). Также обратите внимание, что этот метод требует, чтобы ваша оболочка входа в систему была bash (по умолчанию в Mac OS X и большинстве дистрибутивов Linux). Также обратите внимание, что если вы хотите, чтобы ваши установленные программы
~/bin
использовались в предпочтении системным исполняемым файлам, вы должны переупорядочить оператор экспорта следующим образом:источник
Райан, я изменяю это, чтобы быть ответом вместо комментария, так как кажется, что я был слишком кратким. Сделайте все это в «Терминале».
Чтобы использовать компилятор G ++, вам нужно сделать это:
Перейдите в каталог, в котором вы сохранили файл * .cpp.
cd ~/programs/myprograms/
(~ это ярлык для вашего дома, то есть / Users / Ryan / Programs / MyPrograms /, замените на место, которое вы фактически использовали.)
Скомпилируйте это
g++ input.cpp -o output.bin
(output.bin может быть любым с любым расширением, правда. bin обычно встречается в unix.)Не должно быть НИЧЕГО возвращено, если это было успешно, и это хорошо . Как правило, вы получаете возврат отказов.
Однако, если вы напечатаете
ls
, вы увидите список файлов в том же каталоге. Например, вы увидите другие папки, input.cpp и output.binИзнутри каталога, теперь выполните его с
./outbut.bin
источник
make
будет работать, потому что нет make-файла.Компактный способ сделать это может быть:
Приятно иметь однострочную версию, так что вы можете просто перезапустить свой исполняемый файл снова легко.
источник
Предполагая, что текущий каталог не в пути, синтаксис
./[name of the program]
.Например
./a.out
источник
Добавьте следующие, чтобы получить лучшие предупреждения, вы не пожалеете об этом. Если вы можете, скомпилируйте WISE (предупреждение об ошибке)
источник
Для компиляции программ на C или C ++ есть общая команда:
make filename
./filename
make соберет ваш исходный файл в исполняемый файл с тем же именем. Но если вы хотите использовать стандартный способ, вы можете использовать компилятор gcc для сборки программ на C и g ++ для c ++
Для C:
Для C ++:
источник
Использовать
makefile
. Даже для очень небольших (= однофайловых) проектов усилия, вероятно, того стоят, потому что вы можете иметь несколько наборов настроек компилятора для тестирования. Таким образом, отладка и развертывание работают намного проще.Прочтите
make
руководство , оно кажется довольно длинным на первый взгляд, но большинство разделов вы можете просто просмотреть. В общем, это заняло у меня несколько часов и сделало меня гораздо более продуктивным.источник
Я нашел эту ссылку с указаниями:
http://www.wesg.ca/2007/11/how-to-write-and-compile-c-programs-on-mac-os-x/
В основном вы делаете:
источник
gcc hello.c -o a.out
? Который делает так же, какgcc hello.c
.просто войдите в каталог, в котором находится ваш c / cpp файл.
для компиляции и запуска кода c.
для компиляции и запуска кода на C ++.
$ является символом терминала Mac по умолчанию
источник
Чтобы скомпилировать и запустить исходный код cpp из терминала Mac, необходимо выполнить следующие действия:
источник
Запуск файла .C с помощью терминала является двухэтапным процессом. Первым делом введите gcc в терминале и перетащите файл .C в терминал, а затем нажмите Enter:
На втором шаге выполните следующую команду:
источник
Для запуска файлов c ++ выполните команду ниже, предполагая, что имя файла - "main.cpp"
1. Скомпилируйте файл объекта из файла C ++.
2. Поскольку
#include <conio.h>
не поддерживается в MacOS, поэтому мы должны использовать его альтернативу, которая поддерживается в Mac#include <curses.h>
. Теперь объектный файл необходимо преобразовать в исполняемый файл. Чтобы использоватьcurses.h
мы должны использовать библиотеку-lcurses
.3. Теперь запустите исполняемый файл.
источник