Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

C++ Allegro + Konsola

Ostatnio zmodyfikowano 2014-09-22 20:44
Autor Wiadomość
Roofy5
Temat założony przez niniejszego użytkownika
C++ Allegro + Konsola
» 2014-09-22 19:41:53
Witam!

Mam taki oto programik:

C/C++
#include <iostream>
#include <allegro.h>

using namespace std;

int main()
{
    cout << "Hello World" << endl;
    cout << "Hello again";
    system( "pause" );
    allegro_init();
    set_color_depth( 32 );
    install_keyboard();
    set_gfx_mode( GFX_AUTODETECT_WINDOWED, 800, 600, 0, 0 );
   
    readkey();
    allegro_exit();
    return 0;
}
END_OF_MAIN();

W linkerze wszystko dobrze ustawione.
Problem polega na tym, że program wyświetla konsolę ale nie wypisuje "Hello world" tylko od razu czeka na naciśnięcie klawisza po czym uruchamia okienko allegro.

Tworzę pewien program w allegro i chciałem przed uruchomieniem okienka wczytac pewne dane z konsoli.
Czy takie łączenie Konsola/Allegro jest wgl możliwe??

Allegro w wersji 4.2.3
Microsoft Visual Studio 2013 for Windows Desktop


Pozdr.
P-117353
Monika90
» 2014-09-22 20:27:54
Żeby mieć konsolę, to musisz kompilować program jako aplikację konsolową (patrz ustawienia projektu) i wywalić makro END_OF_MAIN.
P-117359
Roofy5
Temat założony przez niniejszego użytkownika
» 2014-09-22 20:34:00
Usunięcie makrodefinicji powoduje błąd, a program jest kompilowany jako konsolowy, ponieważ konsola się uruchamia, ale nic nie wyświetla, tylko czeka na naciśnięcie klawisza.
Czy to wgl możliwe żeby odpalić najpierw konsolę, a potem allegro?
P-117360
Monika90
» 2014-09-22 20:38:28
To nie jest konsola twojego programu, tylko konsola otworzona przez funkcję system tylko dla polecenia pause. Zdefiniuj ALLEGRO_NO_MAGIC_MAIN dla całego projektu.

Usunięcie makrodefinicji powoduje błąd
Jaki błąd?
P-117361
Roofy5
Temat założony przez niniejszego użytkownika
» 2014-09-22 20:44:15
Dzięki!
Twoja rada poskutkowała.
Wystarczyło na początkuu dodać tą definicję :)

A co do błędu, po usunięciu END_OF_MAIN() : error LNK1561: entry point must be defined
P-117362
« 1 »
  Strona 1 z 1