Strona 1 z 1

Geany - błąd przy kompilacji

: 09 lut 2010, 11:32
autor: enka
Mam taki problem z Geany, pojawił się chyba po aktualizacji systemu do 9.10.

Piszę sobie program, np. taki:

Kod: Zaznacz cały

#include <stdio.h>
#include <stdlib.h>

int szukaj(char S[20], char m)
{
    int n=0, i=0;
    while(S[n]!=0) 
    {
        if (S[i]==m) i++;
        n++;
    }
    return i;
}

int main()
{
    char s[20]="ala ma kota";
    printf("%d", szukaj(s,'a'));
    return 0;
}
Zapisuję jako cpp, kompiluję, wszystko ok. Gdy próbuję wykonać "Buduj" niestety dostaję komunikat:

Kod: Zaznacz cały

make: *** Brak reguł do wykonania obiektu `all'. Stop. 
Nie mam pojęcia skąd to. Góglowałam trochę, ale nic nie znalazłam, a przynajmniej nic, co by rozwiązało problem.

Zmieniłam komendy do budowania wg tego wątku ale też to nic nie pomogło.

W przypadku innych plików - przeze mnie pisanych, też nie działa. Próbowałam kompilować jakieś stare programy i jest różnie - albo mi kompiluje, buduje a potem nie działa przy uruchomieniu, albo też nie buduje.

Chore trochę, że na linuksie nie mogę skompilować programu w C ;) Jakieś sugestie?

Odp: Geany - błąd przy kompilacji

: 09 lut 2010, 13:09
autor: beluosus
Jesteś pewna, że dajesz "Buduj", a nie "Buduj wszystko"? Buduj powinno działać bez problemu - uruchamia program z Ustawień budowania i kompilacji, a Buduj wszystko uruchamia Makefile, którego zapewne nie masz. Możesz spróbować skompilować źródło z wiersza poleceń. Tutaj jest wątek o tym jak to uczynić (który wypadałoby przeczytać przed zadaniem takiego pytania). Wątek, który przytaczasz jest o C++, dla C powinno to wyglądać mniej więcej tak:

Kod: Zaznacz cały

# skompiluj:
gcc -Wall -c "%f"

# buduj:
gcc -Wall -o "%e" "%f"

# wykonaj:
"./%e"
Czyli domyślne ustawienia dla pliku z rozszerzeniem *.c.

Odp: Geany - błąd przy kompilacji

: 09 lut 2010, 22:13
autor: enka
Prawdę mówiąc nie wiem czemu zakładasz, że rzeczonego wątku nie przeczytałam. Choć nawet czytanie wątku nie jest niezbędne by być w stanie skompilować plik w konsoli - jednak nie po to wymyślono środowisko graficzne by z niego nie korzystać.
Miałam na myśli, że próbowałam różnych kombinacji, także zapisywania z rozszerzeniem .cpp (i użycia poleceń z cytowanego przeze mnie wątku).

Zmieniłam z powrotem rozszerzenie do .c oraz polecenia na domyślne i akurat dla cytowanego programiku zaczęło działać, choć dla innych (ale nie przeze mnie pisanych, więc nie daję za nie głowy) dalej się krzaczy, tym razem przy wykonywaniu.

Myślę, że wątek można przeznaczyć na stracenie. Tak to jest, że siedzi się nad czymś pół wieczoru i nie działa, a jak się weźmie i zapyta to zaczyna działać na złość samo z siebie :>

Odp: Geany - błąd przy kompilacji

: 19 lut 2010, 18:15
autor: iksjota
Ten typ (Geany) tak ma:
Piszesz program w C - dajesz mu rozszerzenie .c
Piszesz w obiektowym C++ - rozszerzenie .cpp
Inaczej się krzaczy.

Odp: Geany - błąd przy kompilacji

: 20 lut 2010, 15:31
autor: beluosus
iksjota pisze:Ten typ (Geany) tak ma:
Piszesz program w C - dajesz mu rozszerzenie .c
Piszesz w obiektowym C++ - rozszerzenie .cpp
Inaczej się krzaczy.
Wcale nie. Dokument->Ustaw typ pliku.

Odp: Geany - błąd przy kompilacji

: 17 kwie 2010, 11:12
autor: patryyyczek
Tez mialem taki problem z kompilacja. Wystarczylo wejsc w
Dokument-->Ustaw typ pliku-->Jezyki porgramowania
i tam ustawic interesujacy nas jezyk. kompilacja powinna przebiegac bez zarzutu.

jedyny problem jaki mam to fakt, ze program nie uruchamia mi sie w geany, natomiast w terminalu bez problemu. jakies pomysly??
Po nacisnieciu "wykonaj" pojawia sie:

./geany_run_script.sh: 5: ./bez nazwy: not found


------------------------------------
(program exited with code: 127)
Press return to continue

Odp: Geany - błąd przy kompilacji

: 17 kwie 2010, 14:14
autor: beluosus
patryyyczek pisze:Dokument-->Ustaw typ pliku-->Jezyki porgramowania
Może nie zauważyłeś ale napisałem o tym post wyżej.
patryyyczek pisze:./geany_run_script.sh: 5: ./bez nazwy: not found
Tak wygląda "geany_run_script.sh":

Kod: Zaznacz cały

#!/bin/sh

rm $0

"./bez nazwy"

echo "

------------------
(program exited with code: $?)" 		


echo "Press return to continue"
#to be more compatible with shells like dash
dummy_var=""
read dummy_var
Jak widać nie powinno być problemu z programem ze spacją w nazwie, aczkolwiek spróbuj zapisać plik jako "test.cpp".
Aha, upewnij się, że w Zbuduj -> Ustawienia budowania i kompilacji -> Wykonaj masz:
"./%e" (razem z cudzysłowami).

PS
Używaj