• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Localhost

Dúvida executáveis

20 mensagens neste tópico

Olá pessoal, como alguns já sabem eu mudei para ubuntu, ora bem comecei então a programar lá com o gcc na console ehehe. Surgiu-me uma dúvida que é, como é que eu faço para os ficheiros ficarem executáveis atráves de dois simples cliques? Já vi uma cena do chmod mas já tentei e nada... Alguém me pode dar uma luz?  :smoke:

EDIT: p.s. Ainda sou muito noob em Linux  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que basta fazer

chmod u+x teuFicheiro

Basicamente é dar (+) permissões de execução ao utilizador/dono. Se a aplicação contiver uma interface gráfica, deve ser visível. Caso seja uma aplicação de consola, deves corrê-la pelo terminal, senão não vais ver nada (embora sejam executadas as acções).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens a certeza que é preciso isso? Nunca precisei de alterar as permissões de execução para poder executar programas em C.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quando disse "executar programas", estava a falar em executá-los via consola.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Lol, já percebi o problema, agora a dúvida é: qual o comando em Linux que espera por uma tecla tipo o system("pause") em windows?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Por fim, deves retirar o system("PAUSE") e substituir por getchar() (em C) ou cin.get() (em C++), uma vez que essa instrução torna o teu código dependente do SO onde executa.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois, já tentei! Só que o meu gcc não reconhece, não deve ter a biblioteca conio.h  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Conio não é chamada, não é essa a biblioteca que contêm as funções getch(), getche() e por aí em diante? Sim dá erro:

/tmp/cco9uNgI.o: In function `main':
test.c:(.text+0x17): undefined reference to `getch'
collect2: ld returned 1 exit status

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ah, nesse caso sim, pensei que estavas a falar da dica do system("PAUSE"). A Conio não existe nos sistemas *nix, podes tentar usar uma biblioteca que fornece serviços semelhantes: ncurses.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Penso que a ncurses fornece uma função com esse mesmo nome, é questão de investigares.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

test.c:2:21: error: ncurses.h: No such file or directory

Eu acho é que de bibliotecas só tem mesmo a stdio ehehhe, alguém me podia ajudar?  :wallbash:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bom, para simplificar podes usar a função getc() e não getch(). getc() está disponível na stdio.

agora serviço público. Em Linux, podes fazer man getch e ver o manual para a função getch. diz lá que tens que fazer #include <curses.h> (e não ncurses como estavas a fazer)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ah, curses, vou testar com todas as opções que me deste, depois digo alguma coisa mas obrigado desde já a todos  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olha, acabei de testar... Quanto ao curses.h não deu, eu acho que isto tem muitas poucas bibliotecas  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Vai ao Synaptic, e procura por "ncurses". Deves ter um libncurses instalado. Instala o que tem o mesmo nome + "-dev". Este é quase sempre o procedimento quando falta os .h de alguma biblioteca.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu já fiz isso, não aparece lá nada... Desculpa lá a minha 'nobice'

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora