Mam cpp a chce mieć exe -jak to zrobić?

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
Nacrob
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 01 maja 2009, 06:19
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: GNOME

Mam cpp a chce mieć exe -jak to zrobić?

Post autor: Nacrob »

Mam taki problem że nie mam pojęcia jak sformułować polecenie w konsoli dla gcc. Mam kod źródłowy np. w /home/bartek/Pulpit/C++/dzielenie plik nazywa się dzielenie.cpp a po kompilacji chcę uzyskać dzielenie.exe, naczytałem się wielu artykułów i nigdzie niema tak podstawowej sprawy jak formułowanie tego polecenia. Proszę o pomoc.

Ps. thalcave z łaski swojej nie usuwaj tematów i jeżeli już odpowiadasz na pytanie to nie jakimś linkiem po którego lekturze nic w tej sprawie się nie zdziała.:!:
pawegio
Sędziwy Jeż
Sędziwy Jeż
Posty: 31
Rejestracja: 20 sie 2009, 11:17
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Mam cpp a chce mieć exe -jak to zrobić?

Post autor: pawegio »

exe nie uzyskasz na linuxie bo to aplikacje windowsowe....

w konsoli wpisz:
g++ /ścieżka/plik.cpp (kompilacja)
a potem /home/<twoja nazwa>/a.out (otwierasz program)

To najprostszy proces... możesz nadawać też nazwy plikom wyjściowym przy kompilacji itd. itp. ale jeśli chcesz sprawdzić jeden program to to wystarczy...
Awatar użytkownika
Nacrob
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 01 maja 2009, 06:19
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: GNOME

Odp: Mam cpp a chce mieć exe -jak to zrobić?

Post autor: Nacrob »

Dzięki, faktycznie powstaje to a.out, ale po odpaleniu zupełnie nic się nie dzieje(kod źródłowy jest prawidłowy ponieważ to ten sam który zrobiłem na lekcji i po skompilowaniu przez Dev-C++ do exe działał).
skoczo
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 176
Rejestracja: 09 kwie 2008, 11:40
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Mam cpp a chce mieć exe -jak to zrobić?

Post autor: skoczo »

W katalogu z plikiem a.out w konsoli wpisz

Kod: Zaznacz cały

./a.out
Awatar użytkownika
Dwimenor
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1260
Rejestracja: 18 mar 2008, 16:14
Płeć: Mężczyzna
Wersja Ubuntu: 13.10
Architektura: x86_64

Odp: Mam cpp a chce mieć exe -jak to zrobić?

Post autor: Dwimenor »

A co robi ten kod? Czy jest on przenośny? Co wypluwa do terminala?
Poniższe zdanie jest fałszywe.
Powyższe zdanie jest prawdziwe.
Awatar użytkownika
Nacrob
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 01 maja 2009, 06:19
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: GNOME

Odp: Mam cpp a chce mieć exe -jak to zrobić?

Post autor: Nacrob »

Zwykły kodzik, ale już po sprawie (zainstalowałem Dev-C++ na wine), dziękuje za pomoc i pozdrawiam.
Razi
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 150
Rejestracja: 20 paź 2007, 16:23
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: KDE Plasma
Kontakt:

Odp: Mam cpp a chce mieć exe -jak to zrobić?

Post autor: Razi »

Ja też se Deva zainstalowałem, ale i tak wolę korzystać z konsoli: ustawiłem se na wine zmienne globalne i w konsoli wstukuję wine cmd, potem przechodzę do tego folderu i mingw32-make/g++ itd.
luzakwielki
Wytworny Kaczor
Wytworny Kaczor
Posty: 264
Rejestracja: 19 lis 2008, 11:42
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: KDE Plasma
Architektura: x86_64

Odp: Mam cpp a chce mieć exe -jak to zrobić?

Post autor: luzakwielki »

Razi pisze:Ja też se Deva zainstalowałem, ale i tak wolę korzystać z konsoli: ustawiłem se na wine zmienne globalne i w konsoli wstukuję wine cmd, potem przechodzę do tego folderu i mingw32-make/g++ itd.
To co zrobił Nacrob jest dla mnie niezrozumiałe, ale Ty przebiłeś wszystko ;p. Nie lepiej zainstalować sobie natywną wersję mingw32 (powinna być w repo ubuntu) i używać natywnej wersji pod konsolą (lub skonfigurować sobie eclipse/c::b/netbeans do współpracy z crosskompilatorem)?
Awatar użytkownika
Atom
Sędziwy Jeż
Sędziwy Jeż
Posty: 45
Rejestracja: 08 mar 2009, 12:44
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: Mam cpp a chce mieć exe -jak to zrobić?

Post autor: Atom »

Ja mam pytanie dlaczego wywarzacie otwarte drzwi kombinujecie że głowa boli.
Nie lepiej zainstalować netbeans i do tego gcc i programować jak w devie ?? i przy okazji mieć profesjonalne środowisko programistyczne a nie bawić się w jakieś wine i inne udziwnienia.
Bo założę się że w devie pod windą także używać gcc pewnie z paczki minGW
luzakwielki
Wytworny Kaczor
Wytworny Kaczor
Posty: 264
Rejestracja: 19 lis 2008, 11:42
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: KDE Plasma
Architektura: x86_64

Odp: Mam cpp a chce mieć exe -jak to zrobić?

Post autor: luzakwielki »

Atom pisze:Ja mam pytanie dlaczego wywarzacie otwarte drzwi kombinujecie że głowa boli.
Nie lepiej zainstalować netbeans i do tego gcc i programować jak w devie ?? i przy okazji mieć profesjonalne środowisko programistyczne a nie bawić się w jakieś wine i inne udziwnienia.
Bo założę się że w devie pod windą także używać gcc pewnie z paczki minGW
Tylko, że on chce pod linuksem robić EXE (czyli windowsowy PE32, a nie linuksowy ELF/A.OUT), więc netbeans + gcc odpada - netbeans/eclipse + natywny crosskompilator mingw32 to już inna sprawa i jak najbardziej jest to lepsze rozwiązanie niż dev c++, na wine (ze starą i słabą wersją mingw (3.4)).
Awatar użytkownika
beluosus
Zakręcona Traszka
Zakręcona Traszka
Posty: 695
Rejestracja: 01 paź 2006, 15:32
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Xfce
Architektura: x86
Kontakt:

Odp: Mam cpp a chce mieć exe -jak to zrobić?

Post autor: beluosus »

Moim zdaniem kompilowanie programu pod platformę, której nie możemy przetestować jest bezsensowne. Chyba, że nie rozumiem co autor tematu miał na myśli. Co jak co ale opis mało wnoszący. Nie żebym się czepiał ale utworzyć plik 'dzielenie.exe' można poleceniem 'touch' więc... ;P
Kurs Linuksa: for i in $(ls /bin); do man $i; done
__________________
http://beluosus.pl/
kamil4521
Piegowaty Guziec
Piegowaty Guziec
Posty: 27
Rejestracja: 16 lut 2008, 20:07
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME

Odp: Mam cpp a chce mieć exe -jak to zrobić?

Post autor: kamil4521 »

Nie był bym taki pewien, jeśli autor tematu nie umie kompilować programów z wiersza poleceń, to trudno mi pojąć, po co miał by robić cross-compile dla windowsa, można to porównać do pilotowania samolotu, bez instruktarzu. Te wszystkie DevC++ i inne IDE uruchamiane na wine (w tym konkretnym przypadku), to śmieszność. Ludzie, jeśli nie potraficie kompilować pod linuksem, to nie korzystajcie z tego systemu. Zainstalujcie sobie Visual Studio na windowsie i po kłopocie.

Swoją drogą najprościej było by, gdyby autor powiedział jasno co chce, bo tak na dobrą sprawę, nie wiadomo czego chce. Exe w jego rozumowaniu może być po prostu binarką dla linuksa...

//Edit
Dla autora, działa pod windowsem i linuksem:
krótki how-to kompilacji:

Kod: Zaznacz cały

gcc plik_zrodlowy.c -o plik_wynikowy.exe
g++ plik_zrodlowy.cpp -o plik_wynikowy.exe
Pod linuksem rozszerzenia plików nie grają roli, ale pod windowsem, dzięki rozszerzeniom wiadomo jest jakiego typu jest plik. Te komendy są uniwersalne, dla wersji windowsowej jak i linuksowej kompilatora C/C++ (gcc/g++).
luzakwielki
Wytworny Kaczor
Wytworny Kaczor
Posty: 264
Rejestracja: 19 lis 2008, 11:42
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: KDE Plasma
Architektura: x86_64

Odp: Mam cpp a chce mieć exe -jak to zrobić?

Post autor: luzakwielki »

kamil4521 pisze:Nie był bym taki pewien, jeśli autor tematu nie umie kompilować programów z wiersza poleceń, to trudno mi pojąć, po co miał by robić cross-compile dla windowsa, można to porównać do pilotowania samolotu, bez instruktarzu. Te wszystkie DevC++ i inne IDE uruchamiane na wine (w tym konkretnym przypadku), to śmieszność. Ludzie, jeśli nie potraficie kompilować pod linuksem, to nie korzystajcie z tego systemu. Zainstalujcie sobie Visual Studio na windowsie i po kłopocie.

Swoją drogą najprościej było by, gdyby autor powiedział jasno co chce, bo tak na dobrą sprawę, nie wiadomo czego chce. Exe w jego rozumowaniu może być po prostu binarką dla linuksa...

//Edit
Dla autora, działa pod windowsem i linuksem:
krótki how-to kompilacji:

Kod: Zaznacz cały

gcc plik_zrodlowy.c -o plik_wynikowy.exe
g++ plik_zrodlowy.cpp -o plik_wynikowy.exe
Pod linuksem rozszerzenia plików nie grają roli, ale pod windowsem, dzięki rozszerzeniom wiadomo jest jakiego typu jest plik. Te komendy są uniwersalne, dla wersji windowsowej jak i linuksowej kompilatora C/C++ (gcc/g++).
Wiem, że ciężko Ci sobie to wyobrazić, ale ktoś może woleć pisać i testować (valgrind) pod linuksem, a sprzedawać program pod windowsa (czyli tam gdzie jest target jego produktu) i crosscompilator jest jak najbardziej użyteczny, bo nie trzeba trzymać windowsa, ani środowisk programistycznych, bibliotek i kompilatorów na nim oraz tracić czas na reboot.
Wiele programów z linuksa na GNU GPL tak jest przenoszona na Windowsa (bez windowsa).

Ten przykład który podałeś jest zupełnie do bani, bo rozszerznie exe na użytkowników linuksa wprowadzi w błąd, że to nie linuksowy program, a użytkownicy windowsa nie uruchomią programu jeśli skompilujesz pod gcc w linuksie, a sam "how-to" jest bardzo słaby (tak skompilujesz tylko program z jednym plikiem źródłowym, i bez bibliotek (oraz optymalizacji i informacji gdzie się znajdują biblioteki i nagłówki)).

Kod: Zaznacz cały

gcc [optymalizacje jak poziom np. -Os/-O0/-O1/-O2/-O3 i dodatkowe jak -funroll-all-loops (http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html)] [-I/sciezka/do/naglowkow] -c zrodlo1.c -o zrodlo1.o
gcc [optymalizacje jak poziom np. -Os/-O0/-O1/-O2/-O3 i dodatkowe jak -funroll-all-loops (http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html)] [-I/sciezka/do/naglowkow] -c zrodlo2.c -o zrodlo2.o
...
gcc zrodlo1.o zrodlo2.o ... [-L/sciezka/do/bibliotek] [-lBIBLITEKA jak np. SDL to -lSDL] -o wykonywalny[.exe]
To takie minimum wiadomości które trzeba posiadać (gcc trzeba zamienić na g++ w wypadku C++).
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 7 gości