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

Problem z poprawnym działaniem testowego programu w Qt-Creator skompilowanego pod windows.

Cloud VPS
0 głosów
463 wizyt
pytanie zadane 30 grudnia 2018 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)

Witam, niedawno zacząłem się uczyć Qt z książki:  https://helion.pl/ksiazki/c-i-qt-wprowadzenie-do-wzorcow-projektowych-wydanie-ii-alan-ezust-paul-ezust,cppqtw.htm#format/e

Wszystko mi łatwo idzie pod Linuxem ( kompilacja, działanie programów... ). Gorzej kiedy do tych samych projektów wykorzystuje Qt-Creator na systemie windows ( bo jak coś robić to trzeba umieć na każdym systemie ), mam taki prosty kod:

#include <iostream>

int main() {
    using namespace std;

    int factArg = 0 ;
    int fact(1) ;
    do {
        cout << "Silnia: ";
        cin >> factArg;
        if ( factArg < 0 ) {
            cout << "Bez wartości ujemnych, bardzo proszę!" << endl;
        }
    } while (factArg < 0) ;
    int i = 2;
    while ( i <= factArg ) {
        fact = fact * i;
        i = i + 1;
    }
    cout << factArg << " silnia to: " << fact << endl;
    return 0;
}

A tu plik *.pro :

TARGET = Test
TEMPLATE = app

SOURCES += \
    main.cpp

Wykorzystuję Qt 5.11.2 MinGW 32bit

Kiedy uruchamia się program w konsoli Qt-Creator'a, to poza wypisaniem zawartości strumienia wejściowego std::cout nic się nie dzieje...

Kiedy natomiast otwieram gotowy plik *.exe to już zupełnie mam brak czegokolwiek ( program nie pojawia się nawet w menadżerze procesów, pewnie jest od razu zamykany ).

Słyszałem też o czymś takim:

Tyle że ja nie używam w tym projekcie MSCV :/

Wiem oczywiście że tu używanie Qt nie ma senu, chodzi mi jedynie o zrozumienie co jest powodem problemów... ( bo na Linux działa wszystko ok )

Dziękuje z góry za pomoc :)

2 odpowiedzi

+1 głos
odpowiedź 30 grudnia 2018 przez Szfierzak Gaduła (3,750 p.)
Z mojego doświadczenia wynika, że nawet jak piszesz w QtCreatorze, to dla poprawnie działającej aplikacji konsolowej powinieneś dopisać CONFIG += console. w pliku .pro. Niestety nie zgłębiałem przyczyny.
komentarz 30 grudnia 2018 przez Jakub 0 Pasjonat (23,120 p.)
Dzięki, zadziałało teraz :) Co prawda tylko w pliku wykonywalnym *.exe ale to i tak dobrze ( niemniej nie zamykam jeszcze pytania ). A dziwne bo już stosowałem to i nic wcześniej mi nie dało...
+1 głos
odpowiedź 30 grudnia 2018 przez sp00ky Obywatel (1,760 p.)

dziwne wkleiłem dokładnie Twój kod i działa link, sprawdź czy masz poprawnie skonfigurowane zestawy narzędzi (wersja Qt, kompilator, debugger)

plik .pro

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += \
        main.cpp

 

komentarz 31 grudnia 2018 przez Jakub 0 Pasjonat (23,120 p.)
Dziwne :/ To mi raz działa  a raz nie, skorzystałem z twojego pliku .pro, potem usunąłem z niego CONFIG -= qt bo stwierdziłem że może będę chciał tu jednak dodać jakie obiekty i funkcji biblioteki. Będę po kolei usuwał właściwości z pliku i .pro sprawdzę czego brakowało :)

Podobne pytania

+1 głos
1 odpowiedź 620 wizyt
0 głosów
1 odpowiedź 1,258 wizyt
pytanie zadane 26 sierpnia 2015 w C i C++ przez Jakub Nowacki Początkujący (470 p.)
0 głosów
0 odpowiedzi 86 wizyt

93,488 zapytań

142,421 odpowiedzi

322,772 komentarzy

62,906 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

Kursy INF.02 i INF.03
...