Heippa!
Ryhdyin tässä hieman tekemään allegroa käyttäviä ohjelmia. Nyt ongelma on se, että grafiikkatilaan hyppääminen ei onnistu.
Kääntäjä on Dev-Cpp. Seuraavassa koodi:
#include <allegro.h> #include <iostream.h> #include <stdio.h> int main() { // Ensin alustetaan Allegro allegro_init(); // Sitten näppäimistö install_keyboard(); // Sitten laitetaan oikea grafiikkatila set_gfx_mode(GFX_VGA,320,200,0,0); // Odotellaan näppäimen paimallusta while(!key[KEY_SPACE]){ } // Lopetetaan Allegro allegro_exit(); return 0; }
Joo, eli herjaa:
C:\c++\eka_allegro_ohjelma.cpp:15: `GFX_VGA' undeclared (first use this function) C:\c++\eka_allegro_ohjelma.cpp:15: (Each undeclared identifier is reported only once C:\c++\eka_allegro_ohjelma.cpp:15: for each function it appears in.) Execution terminated
Oletko laittanut -lalleg (tjsp) määrittelyn?
lainaus:
Oletko laittanut -lalleg (tjsp) määrittelyn?
Minnekkös se määrittely menee dev-cpp:ssä?
Sen ei kyllä pitäisi vaikuttaa.. kokeiles GFX_AUTODETECT.
Sitte alat jäljitellä miksei GFX_VGA ole määritelty. Kannattaa varmaan alottaa allegro.h:sta etsimällä merkkijonoa GFX_VGA ja kattomalla minkä (ähh, mikä on minkä-sanan monikko? :) #if:ien sisällä se on. Itse veikkaisin, että koska dev-c++ on Windows-kääntäjä, niin VGA:ta ei voi käyttää noin vain.
Mulla oli samanlainen ongelma.. GFX_VGA:ta ei oltu määritelty. Ongelman korjasi, kun käyttää GFX_AUTODETECTiä, ja laittaa ihan tiedoston loppuun END_OF_MAIN(); -rivin. Silleen se toimii mulla.
Eh.. taisit kopioida suomipelien alkeisoppaasta :) Ei pahalla.. kun minä saman kopioin, silloin kun allegroa kokeilin, ja samoja virheitä ilmeni.. meni vähän aikaa, että sain se toimimaan, mutta noilla edellisilläni ohjeilla sen pitäis toimia.. ne siellä suomipeleissä käänsivät koodit varmaan DJGPP:llä.
Onks allegrosta varmasti Dev-versio?
Eihän sillä ole merkitystä... DevCPP ja DJGPP ovat samankaltaisia kääntäjiä.. DJGPP tosin käsittelee vain DOS-ympäristöä, ja suoraan real-mode keskusmuistia... oliko oikein?
lainaus:
Eh.. taisit kopioida suomipelien alkeisoppaasta :) Ei pahalla.. kun minä saman kopioin, silloin kun allegroa kokeilin, ja samoja virheitä ilmeni.. meni vähän aikaa, että sain se toimimaan, mutta noilla edellisilläni ohjeilla sen pitäis toimia.. ne siellä suomipeleissä käänsivät koodit varmaan DJGPP:llä.
Kopsasin sen. Myönnetään. Tuo on yksinkertainen. Ajattelin kokeilla sitä, mutta se ei käänny.
Suoraan real-mode keskusmuistia? Minä ei tajuta mitä sinä yrittää sanoa. Mutta eniveis, DevCPPhän ei kääntäjä ole vaan IDE. Kääntäjänä siellä häärii kai mingw.
Niinhän se on.. siis DevCPP:n alla rehkii MinGW/32.. joku versioni kuitenkin..
lainaus:
Suoraan real-mode keskusmuistia?
Niin, siis jossain luki, että tämä DJGPP käsittelee muistin aina real-modessa, joka tosin hidastaa keskeytysten käyttöä DJGPP:ssä.. jossain luki niin, jos joku on lukenut samaa, niin valaiskoon lähdettä :)
lainaus:
Mutta eniveis, DevCPPhän ei kääntäjä ole vaan IDE. Kääntäjänä siellä häärii kai mingw.
Joo tarkotin Mingw 32 kääntäjää. Ainakin niiltä imurointi saiteilta löytyy Mingw:lle oma versio.
Deville löysin ohjelman, joka asentaa sen Allegron. Muttamutta, ei täydellisesti
On tainnut mennä real mode ja protected mode sekasin. DJGPP siis toimii protected modessa. Sellainen mielikuva, että aina kun kutsutaan real moden keskeytystä niin tila pitää vaihtaa real modeen ja sitten takaisin, joka aiheuttaa hidastusta.
Aika monimutkasieksi on mennyt tää asentaminen. Tarvitsisin yksnkertaiset ohjeet asentamisen Dev-Cpp:le...
Niin, no siinä yhteydessähän se olikin.. siis protected modesta real modeen.. menin itse sekaisin :P
Katsotaan, kun kaveri tulee auttamaan niin voi hyvinkin olla että onnistutaan... Mutta jos ei, ärräpäitä satelee :)
Jospa vain sitten tekisit helpommin - asennat DJGPP:n vaikka tämän putkan oppaan mukaan, ja asennat Allegron DJGPP:lle suomipelien oppaan mukaan. :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.