• 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?

VPS Starter Arubacloud
0 głosów
1,441 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,787 wizyt
pytanie zadane 6 września 2015 w C i C++ przez bartolinciu Dyskutant (7,580 p.)
0 głosów
4 odpowiedzi 8,665 wizyt
pytanie zadane 18 października 2016 w C i C++ przez MarioMZ Nowicjusz (170 p.)
0 głosów
2 odpowiedzi 1,146 wizyt

92,979 zapytań

141,941 odpowiedzi

321,185 komentarzy

62,303 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...