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

Jak wysłać komuś plik .exe żeby u Niego/Niej też działał?

0 głosów
485 wizyt
pytanie zadane 12 lipca 2016 w C i C++ przez Tenacious.Hare Nowicjusz (120 p.)

Mam prosty program, zgadujący płeć (na podstawie Kursu C++ odc.8, Pana Zelenta):
 

#include <iostream>
#include <stdio.h>
using namespace std;

int main()
{
    string imie;
    cout << "Podaj imie: ";
    cin >> imie;

    int dlugosc=imie.length();

    if (imie[dlugosc-1]=='a')
    {
        cout<<"Wydaje mi sie, ze jestes kobieta";
    }
    else cout<<"Wydaje mi sie, ze jestes mezczyzna";

getchar();getchar();
    return 0;
}

I chcę go teraz komuś wysłać. Jaki plik oprócz '.exe' muszę tej osobie spakować do '.rar' albo '.zip', żeby program działał ? Wiem, że były podobne tematy, ale nie znalazłem tam niestety odpowiedzi :(

komentarz 12 lipca 2016 przez DragonCoder Pasjonat (21,830 p.)
Jest mały problem z twoim programem, ponieważ nie wszystkie imiona damskie kończą się na -a. Mógłbyś dodać wyjątki
komentarz 12 lipca 2016 przez Tenacious.Hare Nowicjusz (120 p.)
To jedynie prosty program, dopiero się uczę :) Bardziej istotne dla mnie jest to, jak skompilować program i jakie pliki ewentualnie zamieścić w archiwum (czy to zip, czy rar), żeby inna osoba mogła sobie ten program otworzyć z pliku .exe.
komentarz 13 lipca 2016 przez DragonCoder Pasjonat (21,830 p.)
Po kompilacji masz plik .exe, załaduj go na hosting i tyle, co do linuxa, no to stdio.h nie będzie działać.

3 odpowiedzi

+1 głos
odpowiedź 12 lipca 2016 przez ZakosiliMiNeta Nałogowiec (31,150 p.)
Zależy jak masz kompilator ustawiony. Jeśli masz statyczne linkowanie to nie musisz nic dodawać do rara i wysłać tylko .exe jak dynamicznie to trzeba dodać jakieś dll. Ale to jest tak prosty program, że nie musisz nic dodawać
komentarz 12 lipca 2016 przez Tenacious.Hare Nowicjusz (120 p.)
edycja 12 lipca 2016 przez Tenacious.Hare
Ustawiłem w CodeBlocks (wersja 16.01), żeby kompilował do wersji Release, ale to nie pomogło :/ (jeśli dobrze zrozumiałem co masz na myśli).
komentarz 12 lipca 2016 przez Tenacious.Hare Nowicjusz (120 p.)
A jak zmienić to statyczne / dynamiczne linkowanie? Bo niezbyt rozumiem :P
I skąd te .dll wziąć w razie czego? Dzięki z góry za odpowiedź :)
komentarz 13 lipca 2016 przez bazinga15 Maniak (54,580 p.)
No właśnie, tutaj nie potrzebujesz żadnych DLL-ek (nie interesuj się co to jest, na razie nie jest ci to potrzebne ;)), ale nie musisz też zmieniać linkowanie na statyczne, bo nie ma czego tutaj linkować. Program powinien normalnie działać. Nie wiem, dlaczego nie działa u kogo innego. A jakie były błędy? Bo coś musiało wyskoczyć. A w ogóle sprawdzałeś czy u kogoś działa, czy tylko tak piszesz?
+1 głos
odpowiedź 12 lipca 2016 przez Michał Muzyka Pasjonat (16,640 p.)
Musisz użyć wersji release, a jak u kogoś pojawia się błąd to pomogłoby jakbyś wrzucił komunikat błędu
komentarz 12 lipca 2016 przez Tenacious.Hare Nowicjusz (120 p.)
Sprawdzę jutro i dam znać co nie bangla :) Dzięki za pomoc! :)
komentarz 13 lipca 2016 przez Tenacious.Hare Nowicjusz (120 p.)

No więc problem jest taki. Program po odpaleniu nie chce się w ogóle załadować (wiecznie miga klepsydra), a po wrzuceniu go po chamsku do konsoli cmd, wywala po czasie taki błąd jak na załączonym obrazku. Ktoś, coś? :P Z góry dziękuję za dalsze instrukcje :)

1
komentarz 13 lipca 2016 przez Michał Muzyka Pasjonat (16,640 p.)

Dokładnie tak jak napisał kolega niżej zacytuje:
 

W Code Blocks musisz wejść w Właściwości projektu (Properties i znajdź tam taką opcje "Runtime Library" i zmień na Multi Threaded inaczej to /MT. Potem poprostu .exe wysyłasz i działa.

Project Properties -> Configuration Properties -> C/C++ -> Code Generation -> Runtime Library.

+1 głos
odpowiedź 13 lipca 2016 przez Prao22 Stary wyjadacz (11,230 p.)
edycja 13 lipca 2016 przez Prao22

W Code Blocks musisz wejść w Właściwości projektu (Properties i znajdź tam taką opcje "Runtime Library" i zmień na Multi Threaded inaczej to /MT. Potem poprostu wysyłasz samo .exe i działa.

Project Properties -> Configuration Properties -> C/C++ -> Code Generation -> Runtime Library.

komentarz 14 lipca 2016 przez Tenacious.Hare Nowicjusz (120 p.)
Nie mogę znaleźć takiej opcji :/ Mogę prosić o jakiegoś print screena z CodeBlocksa?
komentarz 14 lipca 2016 przez Prao22 Stary wyjadacz (11,230 p.)

Szukaj tutaj: (Klikasz na /MT a nie jak jest pokazane na obrazku.

komentarz 14 lipca 2016 przez Tenacious.Hare Nowicjusz (120 p.)
Nie mam takiego menu... Jak mówiłem korzystam z Code::Blocks 16.01, przeszukałem wszystkie opcje i nigdzie nie mogę tego znaleźć...
komentarz 15 lipca 2016 przez Prao22 Stary wyjadacz (11,230 p.)
Korzystasz z Windowsa tak? Na Linuxie tego nie ma menu nie ma. Jeśli nie możesz tego znaleźć no to nie znam innej możliwości.
komentarz 15 lipca 2016 przez Tenacious.Hare Nowicjusz (120 p.)
Korzystam z Windows 10... Niestety :P

Podobne pytania

0 głosów
3 odpowiedzi 1,934 wizyt
pytanie zadane 12 kwietnia 2016 w C i C++ przez UrbanLegend Nowicjusz (160 p.)
0 głosów
1 odpowiedź 527 wizyt
0 głosów
1 odpowiedź 129 wizyt
Porady nie od parady
Zadając pytanie postaraj się o poprawną pisownię i czytelne formatowanie tekstu.Kompozycja

66,393 zapytań

113,148 odpowiedzi

239,530 komentarzy

46,659 pasjonatów

Przeglądających: 310
Pasjonatów: 12 Gości: 298

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...