Respostas:
Se for um programa simples de fonte única:
make foo
onde o arquivo de origem é foo.c ou foo.cpp, etc.
Você nem precisa de um makefile. O Make possui regras internas suficientes para transformar seu arquivo de origem em um executável com o mesmo nome, menos a extensão.
Executar o executável recém-criado é o mesmo que executar qualquer programa - mas você geralmente precisará especificar o caminho para o executável, pois o shell pesquisará apenas o que há $PATH
para encontrar executáveis e, na maioria das vezes, isso não inclui o diretório atual ( .
)
Então, para executar o executável compilado foo
:
./foo
make main.cpp
, mas make main
.
gcc main.cpp -o main.out
./main.out
Undefined symbols for architecture x86_64
problema, modifico o comando da seguinte maneira:, gcc -lstdc++ main.cpp -o main.out
e isso funciona no meu Mac. via link: stackoverflow.com/questions/11852568/…
Este é o comando que funciona em todas as máquinas Unix ... Eu o uso no Linux / Ubuntu, mas funciona no OS X também. Digite o seguinte comando no Terminal.app .
$ g++ -o lab21 iterative.cpp
-o
é a letra O diferente de zero
lab21
será seu arquivo executável
iterative.cpp
é o seu arquivo c ++
Depois de executar esse comando, digite o seguinte no terminal para executar o seu programa:
$ ./lab21
Dois passos para mim:
primeiro:
make foo
então:
./foo
./foo
dunno resposta como aceita não tem esta importante peça de comando
Toda execução de aplicativo em um ambiente Unix (Linux, Mac OS X, AIX etc.) depende do caminho da pesquisa executável.
Você pode exibir este caminho no terminal com este comando:
eco $ PATH
No Mac OS X (por padrão), isso exibirá o seguinte caminho de pesquisa separado por dois pontos:
/ usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin: / usr / X11 / bin
Portanto, qualquer executável nos diretórios listados pode ser executado apenas digitando seu nome. Por exemplo:
cat mytextfile.txt
Isso é executado /bin/cat
e exibe mytextfile.txt no terminal.
Para executar qualquer outro comando que não esteja no caminho de pesquisa executável, você deve qualificar o caminho para o executável. Digamos que eu tenha um executável chamado MyProgram no meu diretório pessoal no Mac OS XI que possa qualificá-lo totalmente da seguinte maneira:
/ Usuários / oliver / MyProgram
Se você estiver em um local próximo ao programa que deseja executar, poderá qualificar o nome com um caminho parcial. Por exemplo, se MyProgram
estava no diretório em que /Users/oliver/MyProject
eu e eu estávamos no diretório inicial, posso qualificar o nome do executável assim e executá-lo:
MyProject / MyProgram
Ou diga que eu estava no diretório /Users/oliver/MyProject2
e queria executar. /Users/oliver/MyProject/MyProgram
Posso usar um caminho relativo como este, para executá-lo:
../MyProject/MyProgram
Da mesma forma, se eu estiver no mesmo diretório MyProgram
que preciso usar o caminho relativo do "diretório atual". O diretório atual em que você está é o caractere de ponto seguido por uma barra. Por exemplo:
./MyProgram
Para determinar qual diretório você está atualmente usando o pwd
comando
Se você costuma colocar programas em um local do disco rígido que deseja executar sem precisar qualificar seus nomes. Por exemplo, se você tiver um diretório "bin" no diretório inicial para scripts de shell usados regularmente de outros programas, pode ser aconselhável alterar seu caminho de pesquisa executável.
Isso pode ser feito facilmente criando ou editando o .bash_profile
arquivo existente no diretório inicial e adicionando as linhas:
#!/bin/sh
export PATH=$PATH:~/bin
Aqui, o caractere til (~) está sendo usado como um atalho para / Users / oliver. Observe também que a linha hash bang (#!) Precisa ser a primeira linha do arquivo (se ainda não existir). Observe também que essa técnica exige que o seu shell de login seja bash (o padrão no Mac OS X e na maioria das distribuições Linux). Observe também que se você deseja que seus programas instalados ~/bin
sejam usados preferencialmente aos executáveis do sistema, você deve reordenar a instrução de exportação da seguinte maneira:
export PATH=~/bin:$PATH
Ryan, estou mudando isso para ser uma resposta em vez de um comentário, pois parece que fui muito breve. Faça tudo isso em "Terminal".
Para usar o compilador G ++, você precisa fazer o seguinte:
Navegue para o diretório em que você armazenou o arquivo * .cpp.
cd ~/programs/myprograms/
(o ~ é um atalho para sua casa, ou seja, / Users / Ryan / programs / myprograms /, substitua pelo local que você realmente usou.)
Compile
g++ input.cpp -o output.bin
(output.bin pode ser qualquer coisa com qualquer extensão, na verdade. bin é comum no unix.)
Nada deve ser retornado se tiver sido bem-sucedido, e tudo bem . Geralmente você obtém retornos por falhas.
No entanto, se você digitar ls
, verá a lista de arquivos no mesmo diretório. Por exemplo, você veria as outras pastas, input.cpp e output.bin
De dentro do diretório, agora execute-o com ./outbut.bin
Uma maneira compacta de fazer isso pode ser:
make foo && ./$_
É bom ter um one-liner para que você possa executar novamente o seu executável facilmente novamente.
Supondo que o diretório atual não esteja no caminho, a sintaxe está ./[name of the program]
.
Por exemplo ./a.out
Adicione o seguinte para obter os melhores avisos, você não se arrependerá. Se você puder, compile o WISE (aviso de erro)
- Wall -pedantic -Weffc++ -Werror
Para compilar programas C ou C ++, existe um comando comum:
make filename
./filename
O make criará seu arquivo de origem em um arquivo executável com o mesmo nome. Mas se você quiser usar o caminho padrão, poderá usar o compilador gcc para criar programas em C & g ++ para c ++
Para C:
gcc filename.c
./a.out
Para C ++:
g++ filename.cpp
./a.out
Use a makefile
. Mesmo para projetos muito pequenos (= um arquivo), o esforço provavelmente vale a pena, porque você pode ter vários conjuntos de configurações do compilador para testar as coisas. Depuração e implantação funcionam muito mais fácil dessa maneira.
Leia o make
manual , parece bastante longo à primeira vista, mas na maioria das seções você pode simplesmente dar uma olhada. Ao todo, levei algumas horas e me tornou muito mais produtivo.
Encontrei este link com instruções:
http://www.wesg.ca/2007/11/how-to-write-and-compile-c-programs-on-mac-os-x/
Basicamente você faz:
gcc hello.c
./a.out (or with the output file of the first command)
gcc hello.c -o a.out
? O que faz o mesmo que gcc hello.c
.
basta entrar no diretório em que está o seu arquivo c / cpp.
para compilar e executar o código c.
$gcc filename.c
$./a.out filename.c
para compilar e executar o código c ++.
$g++ filename.cpp
$./a.out filename.cpp
"$" é o símbolo padrão do terminal mac
Para compilar e executar um código-fonte cpp no terminal Mac, é necessário fazer o seguinte:
A execução de um arquivo .C usando o terminal é um processo de duas etapas. A primeira etapa é digitar gcc no terminal, soltar o arquivo .C no terminal e pressionar Enter:
username$ gcc /Desktop/test.c
Na segunda etapa, execute o seguinte comando:
username$ ~/a.out
Para executar arquivos c ++, execute o comando abaixo, Assumindo que o nome do arquivo seja "main.cpp"
1.Compile para criar um arquivo de objeto a partir do arquivo c ++.
g++ -c main.cpp -o main.o
2.Como #include <conio.h>
não suporta no MacOS, devemos usar sua alternativa que suporta no Mac #include <curses.h>
. Agora, o arquivo de objeto precisa ser convertido em arquivo executável. Para usar curses.h
, temos que usar a biblioteca -lcurses
.
g++ -o main main.o -lcurses
3.Agora execute o executável.
./main