C++ Allegro + Konsola
Ostatnio zmodyfikowano 2014-09-22 20:44
Roofy5 Temat założony przez niniejszego użytkownika |
C++ Allegro + Konsola » 2014-09-22 19:41:53 Witam! Mam taki oto programik: #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. |
|
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. |
|
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? |
|
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? |
|
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
|
|
« 1 » |