• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Kompilacja programu C++ za pomocą Code Blocks dla Linuxa?

Object Storage Arubacloud
0 głosów
1,241 wizyt
pytanie zadane 6 grudnia 2015 w C i C++ przez Kuba130000 Użytkownik (670 p.)
zamknięte 6 grudnia 2015 przez Kuba130000

Cześć.

Czy jest możliwość, aby skompilować poniższy kod jako program ale dla Linuxa?

#include <iostream>
#include <cstdlib>
#include <time.h>
#include <stdio.h>
#include <windows.h>

using namespace std;

int liczba, strzal, ile_prob=0; //liczba=liczba ktora pomyslal program; strzal= liczba od usera; ile_prob = ktora to proba usera

int main()
{
    cout<<"Trwa instalowanie programu! Zaczekaj chwile!"<<endl;
    cout<<""<<endl;
    Sleep(5000);
    cout<<"Program zainstalowany!"<< endl;
    cout<<""<<endl;
    Sleep(1000);
    cout<<"Trwa inicjowanie gry!"<< endl;
    cout<<"Gra uruchomiona!"<< endl;
    cout<<""<<endl;
    cout<<""<<endl;
    cout<<""<<endl;

    // TU ZACZYNA SIE GRA!!!

    cout << "Witaj w grze! Gra polega na tym, aby odgadnac liczbe z zakresu od 1 do 100." << endl;
    cout << "Powodzenia!"<< endl;
    cout << "Pomyslalem sobie liczbe!"<< endl;
    srand(time(NULL));
    liczba = rand()%100+1;

    while(strzal!=liczba) // warunek
    {
        ile_prob++; //1 proba

        cout<<"Zgadnij jaka: (to Twoja "<<ile_prob<<" proba)"<<endl; //pytanie jaka liczba oraz liczba prob
        cin>>strzal;

        if(strzal==liczba)
            cout<< "Udalo sie! Wygrywasz!" << endl;

        else if(strzal<liczba)
            cout<< "To za malo!"<< endl;

        else if(strzal>liczba)
            cout<< "To za duzo!"<< endl;
    }

    getchar();getchar(); //dla pewnosci 2 razy ;)

    return 0;
}

 

Jeżeli tak, to jak?

Ta "instalacja" to tylko tak dla omyłki.

Z góry dziękuję za odpowiedzi.

Kompilator to GNU GCC.

komentarz zamknięcia: rozwiązane

3 odpowiedzi

+3 głosów
odpowiedź 6 grudnia 2015 przez niezalogowany
wybrane 6 grudnia 2015 przez Kuba130000
 
Najlepsza
Hm, wydaje mi się, że wystarczy zamiast windows.h zainkludować unistd.h (chyba) i zmienić nazwę Sleep() na sleep().
komentarz 6 grudnia 2015 przez Kuba130000 Użytkownik (670 p.)
tylko co ja mam kliknąć w Code Blocks aby program był z rozszerzeniem .jar?
komentarz 6 grudnia 2015 przez niezalogowany
Ale jak to *.jar? Przecież *.jar jest rozszerzeniem Javy (no, *.jar jest związane z Javą). Po ci ci *.jar?
komentarz 6 grudnia 2015 przez Kuba130000 Użytkownik (670 p.)
No tak...

To może inaczej:

Jak zrobić aby na linuxie uruchomić ten program (bo nie odczyta .exe)?

Jak to skompilować?
komentarz 6 grudnia 2015 przez niezalogowany
Linux nie obsługuje rozszerzenia *.exe? To sory, na Linuxie to ja się nie znam, więc jeśli chodzi o ten temat to już raczej nic nie powiem, może inni ci pomogą ;)
komentarz 6 grudnia 2015 przez Eryk Andrzejewski Mędrzec (164,260 p.)
Program na linuxie ci się skompiluje jako a.out (domyślnie) ale nie musi mieć rozszerzenia, bo będzie wykonywalny.
komentarz 6 grudnia 2015 przez Kuba130000 Użytkownik (670 p.)
Już sobie poradziłem..

Dzięki :0
+3 głosów
odpowiedź 6 grudnia 2015 przez Szykem2 Nałogowiec (29,510 p.)
Zamiast windows.h musisz zaincludować unistd.h i zamiast Sleep() używasz usleep()
komentarz 6 grudnia 2015 przez Kuba130000 Użytkownik (670 p.)
przywrócone 6 grudnia 2015 przez Kuba130000
tylko co ja mam kliknąć w Code Blocks aby program był z rozszerzeniem .jar?
komentarz 6 grudnia 2015 przez Szykem2 Nałogowiec (29,510 p.)
Jak .jar? kompilujesz do plików .o i linkujesz do pliku .exe. .jar jest rozszerzeniem dla języka java. Jak klikniesz run to powinien sie otworzyć terminal i automatycznie uruchomić program.
komentarz 6 grudnia 2015 przez Kuba130000 Użytkownik (670 p.)
Ale tak, ja kompiluje na Windowsie a chcę, żeby ktoś inny na linuxie mógł otworzyć program.

Ja na linuxie się nie znam za bardzo, nie mam go na codzień, tylko zainstalowałem w Virtual Boxie na potrzeby Code Blocksa.
komentarz 6 grudnia 2015 przez Szykem2 Nałogowiec (29,510 p.)
Ja na linux'ie korzystam tylko z terminala więc nie wiem jakie nazwy tworzy code::blocks wejdź do katalogu projektu/bin/debug tam używasz komendy ls i patrzysz po rozszerzniach. .cpp .h .o ignorujesz i uruchamiasz to co zostało będzie to albo nazwa projektu.exe albo a.out albo coś w tym stylu uruchamiasz wpisując ./nazwa. Może być problem z prawami dostępu jeśli wyjdzie komunikat Permission Denied to wpisujesz chmod 777 nazwa i uruchamiasz
+2 głosów
odpowiedź 6 grudnia 2015 przez Patryk Krajewski Nałogowiec (26,170 p.)
Zamiast Sleep() Możesz użyć sleep(czas_w_sekundach) z małej litery jest ona w bibliotece <unistd.h>
komentarz 6 grudnia 2015 przez Kuba130000 Użytkownik (670 p.)
tylko co ja mam kliknąć w Code Blocks aby program był z rozszerzeniem .jar?
komentarz 6 grudnia 2015 przez Patryk Krajewski Nałogowiec (26,170 p.)
Ale przecież piszesz w c++ to program nie może się skompilować jako *.jar do tego jest java
komentarz 6 grudnia 2015 przez Kuba130000 Użytkownik (670 p.)
Ehh, faktycznie.

 

To może inaczej:

Jak zrobić, aby Linux odczytał ten program (bo nie odczyta .exe)?
komentarz 6 grudnia 2015 przez Patryk Krajewski Nałogowiec (26,170 p.)
1.Wchodzisz w folder ze swoim projektem->Bin->Debug klikasz prawym na nazwe twojego programu następnie właściwości i kopiujesz location

2.Włączasz terminal, wklejasz i musisz jeszcze dodać /nazwa twojego projektu
komentarz 6 grudnia 2015 przez Kuba130000 Użytkownik (670 p.)
Dzięki.

O to mi chodziło, zaraz sprawdzę ;)
komentarz 6 grudnia 2015 przez Kuba130000 Użytkownik (670 p.)
No niestety.

Nie można uruchomić pliku binarnego: błedny format pliku wykonywalnego
komentarz 6 grudnia 2015 przez Patryk Krajewski Nałogowiec (26,170 p.)
Może nie masz uprawnień przed tym napisz

chmod +x lokalizacja pliku/nazwa_projektu
komentarz 6 grudnia 2015 przez Kuba130000 Użytkownik (670 p.)
Dobra, zrobiłem to inaczej.

Na linuxa zainstalowałem Code::Blocks i tam wkleiłem kod aplikacji

Tylko przy próbie zbudowania wyskakuje, że nie została zbudowana i czy chcę zbudować. Wybieram Yes i tak w kółko, w folderze Bin się nic nie zapisuje.

Program się nie uruchamia.

To jest Linux Mint.
komentarz 6 grudnia 2015 przez Patryk Krajewski Nałogowiec (26,170 p.)
A to trzeba było mówić od razu.

1 .Może nie utworzyłeś projektu kliknij w File->New->Console Application i wybierz folder do przechowywania projektu

2. Możliwe że nie masz kompilatora więc wpisz w terminalu sudo apt-get install build-essential

Podobne pytania

0 głosów
5 odpowiedzi 1,607 wizyt
pytanie zadane 6 września 2015 w C i C++ przez bartolinciu Dyskutant (7,580 p.)
0 głosów
4 odpowiedzi 8,529 wizyt
pytanie zadane 18 października 2016 w C i C++ przez MarioMZ Nowicjusz (170 p.)
0 głosów
2 odpowiedzi 1,039 wizyt

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...