cygwin es gcc problema

Fórumok

Hello!

Eclipse-t szeretném win alatt használni c / c++ fejlesztésre, és ehhez felraktam a cygwin-t. A cygwin-t a base utilites-zel és a következő csomagokkal telepítettem : autoconf, automake, binutils, gcc, gdb, make, and libtool. A legtöbb parancs működik is rendesen cygwin alatt de ha a legegyszerűbb programot le szeretnem fordítani gcc -vel nem csinal semmit.. :)
A program: :-)

#include stdio.h // Eredetiben van kacsacsőr

int main(void)
{
printf("Hello World");
return 0;
}

Ezt szeretném lefordítani gcc, így probáltam:
gcc -o hello hello.c -Wall
Erre semmi hiba üzenetet nem ad, csak egy üres sort. A cél file persze nem jön létre..
Nem igazán értem miert csinalja ezt, egyelőre csak ezt "programot" probáltam lefordítani.
Amugy a gcc -v parancsra kiírja a gcc verzióját, szóval ilyen szempontból működőképesnek tűnik.
Windows XP-n probáltam, amin az összes frissítés fent van, cygwinből is a legfrissebb van fent, amit a honlapjukról le lehetett tölteni, a gcc verziója pedig 3.4.4

Hozzászólások

Gondolom felraktad a CDT-t is. (C/C++ Development Tools)
Ha nem, akkor tedd meg. :)

Itt egy útmutató:
http://max.berger.name/howto/cdt/
Nekem MinGW-vel ment, gond nélkül, Cygwinnel sem lehet gond.

Egyéb infók:
http://wiki.eclipse.org/index.php/CDT/User/FAQ

Parancssorból próbáltad a gcc-t közvetlenül?

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o

Felraktam a CDT-t, de az se megy, mondjuk ezt nem csodálom mert parancssorból se tudok fordítani gcc-vel cygwin alatt. De bloodshed dev-c++ is gcc-t használ és az megy rendesen, csak cygwin-el nem az igazi :/

Amugy az itt található howto egyike alapján probáltam felrakni.
http://wiki.eclipse.org/index.php/CDT/User/FAQ#Download_and_Installation

Mivel nincs hibaüzenet, ő úgy veszi, hogy létrejön valahol.
De szerintem ott helyben kéne létrejöjjön. mondjuk cygwin-t még nem használtam, lehet, hogy van vmi környezeti változó? Nem hiszem, de ki tudja...

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o

Én annyit mondhatok amit most kipróbáltam.
készítettem egy hello.c fájlt, és beletettem amit te írtál.
gcc hello.c
eredmény = a.out
./a.out = Hello World!

Ott hozta létre ahol a hello.c is van. Egyébként miért a.out lett a neve? Ezt megadhatnám én is?

Nem működött, mert linuxos binárist fordít csak hello.exe néven.

Megoldható egyébként, hogy win-es binárist fordítson linux alatt, mindenféle trükkös gcc kapcsolókkal, amit fejből nem tudok.

De szerintem jobban jársz, ha win alatt fordítasz winre, és linux alatt linuxra. Már csak a tesztelés miatt is.

win alatt gcc:
cygwin
mingw

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o

Előzőt SUSE 9.2-őn teszteltem.

9.3-ason ár érdekesebb:
budacsik@server2:~/c_programozas/c> gcc hello.c
hello.c:1:10: #include expects "FILENAME" or

budacsik@server2:~/c_programozas/c> gcc -o hello -Wall hello.c
hello.c:1:10: #include expects "FILENAME" or
hello.c: In function `main':
hello.c:6: warning: implicit declaration of function `printf'

A hello.c tartala:

#include (stdio.h)

int main(void)

{
printf ("Hello World!\n");
return 0;
}

Nem tom, nekem elsőre ment. Esetleg próbáld meg ezt:

gcc 
-mno-cygwin
 -o hello.exe hello.c -Wall

Nálam nincs különbség a kettő között (eredményben), de hátha segít.