Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Allegro-ongelma

Sivun loppuun

Jartsala [02.04.2007 17:37:31]

#

Devillä latasin updaterilla tuon Allegron, asensin Devpakit ja ynnä muuta, mutta kun yritän kääntää vaikka tämän

#include <allegro.h>

void init();
void deinit();

int main() {
	init();

	while (!key[KEY_ESC]) {
		/* put your code here */
	}

	deinit();
	return 0;
}
END_OF_MAIN()

void init() {
	int depth, res;
	allegro_init();
	depth = desktop_color_depth();
	if (depth == 0) depth = 32;
	set_color_depth(depth);
	res = set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
	if (res != 0) {
		allegro_message(allegro_error);
		exit(-1);
	}

	install_timer();
	install_keyboard();
	install_mouse();
	/* add other initializations here */
}

void deinit() {
	clear_keybuf();
	/* add other deinitializations here */
}

Niin se valittaa Allegro.h, no such file in directory

Metabolix [02.04.2007 18:12:09]

#

Eli selvitäpä, missä se allegro.h on, ja säädä includen polku kuntoon.

Jartsala [02.04.2007 19:16:13]

#

Koitin seuraavaa, kopsasin allergo.h tiedoston kansioon jossa tuo ohjelma on, mutta se valittaa silti?

Pekka Karjalainen [02.04.2007 19:30:45]

#

Jos vaihdat #include "allegro.h", niin sitten tämä kuvaamasi tapa toimii vähän paremmin.

#include-ohjeessa <>-sulut tarkoittavat, että kääntäjä hakee annetuista vakiokansioista ne includet (riippuu asetukssita mitä ne ovat). ""-merkit taas, että hakee tiedoston sen hetkisetsä kääntöhakemistosta.

Ellen väärin muista, se Allegron otsikko sisältää useiden muiden otsikoiden includeja. Eli kuitenkin olisi parasta saada se allegro-hakemisto tuonne kääntäjän tietämien hakemistojen joukkoon. Joku devcpp:n tuntija voisi neuvoa, mistä se laitetaan. Vähempi vaiva niin, kun kerralla teet kuntoon.

tn [02.04.2007 22:44:37]

#

Kopeekka kirjoitti:

Eli kuitenkin olisi parasta saada se allegro-hakemisto tuonne kääntäjän tietämien hakemistojen joukkoon. Joku devcpp:n tuntija voisi neuvoa, mistä se laitetaan.

Eikös devpakin pitäisi hoitaa tollaiset hommat. Itse veikkaisin että kaikki allegron otsikkotiedostot ovat kuitenkin jossain omassa alihakemistossaan, jolloin include pitäisi antaa tyyliin:

#include <allegro/allegro.h>

Tai mikä se hakemisto sitten lieneekään. Näinhän se homma menee useiden muidenkin kirjastojen kuten SDL:n ja OpenGL:n kanssa. Tätä asiaa luulisin Metabolixinkin yrittäneen sanoa.

Pekka Karjalainen [03.04.2007 12:11:40]

#

Pitääkö se devpakki ottaa erikseen käyttöön kullekin projektille, vai tuleeko se ns. automaagisesti mukaan, kun on oikea include? No, tn:n ohje oli paikallaan. Minulle ei ole oikein devcpp tuttu.

Jartsala [03.04.2007 18:09:01]

#

SDL:ssä täyty linkkeriin laittaa juttuja, mites tässä allegrossa? Ehkä se sitten löytäis sen allegro.h:n

tn [03.04.2007 19:09:52]

#

Kopeekka kirjoitti:

Pitääkö se devpakki ottaa erikseen käyttöön kullekin projektille, vai tuleeko se ns. automaagisesti mukaan, kun on oikea include?

Joo ja ei. Se siis asentaa asiat oikeisiin hakemistoihinsa, mutta linkkeriparametrit täytyy silti antaa normaalisti. Toisaalta monet devpakit lisäävät käyttöön omia projektipohjiaan, jotka käytettäessä lisäävät tarvittavat linkkeriparametrit automaattisesti projektin asetuksiin.

(En ole kyllä itsekään Dev-C++:aa käyttänyt aikoihin, eihän sitä edes ole Linuxille. Sitäpaitsi sitä ei ole (ilmeisesti) kehitetty yli kahteen vuoteen ollenkaan. Monessa mielessä Code::Blocks vaikuttaakin lupaavalta korvikkeelta. Kun siitä nyt vain joskus ilmeistyisi jotain järkeviä versioita (eikä vain iänikuisia nightly buildeja).)

Jartsala kirjoitti:

SDL:ssä täyty linkkeriin laittaa juttuja, mites tässä allegrossa? Ehkä se sitten löytäis sen allegro.h:n

Linkkeriparametrit tuskin vaikuttavat mitenkään includetiedostojen löytymiseen. Toki nekin on oleellista antaa, jos mielii saada projektinsa kääntymään.

Metabolix [03.04.2007 19:15:39]

#

Jartsala, kirjoitapa vaikka ihan Windowsin etsintätoimintoon allegro.h ja katso, missä Dev-C++:n hakemiston alla se sijaitsee. Jos se on vaikkapa include/hakemisto/allegro.h, niin laita includeen <hakemisto/allegro.h>.

Jartsala [03.04.2007 21:04:34]

#

kun se on include/allergo.h... ja sen muut tiedostot on invlude/allegro kansiossa.. sen pitäisi toimia mutta ei, olen asentanut uudestaankin sen mutta ei toimi..

tgunner [03.04.2007 21:39:20]

#

Siis, onko allegro.h include-kansiossa ja allegron kaverit include\allegro-kansiossa?

Metabolix [03.04.2007 21:59:27]

#

Sitten olet tehnyt tuossa jotakin väärin tai rikkonut Dev-C++:n totaalisesti. Ainakin mitä nyt testasin, niin allegro.h näyttäisi löytyvän ja projekti kääntyvän nätisti, linkitykseen kuuluu nähtävästi -lalleg. Kai asensit Dev-Pakin Dev-C++:n omalla päivitysohjelmalla? Versio 4.2.1 näyttäisi olevan tarjolla tällä hetkellä, ja sillä tuo jostakin kopioimasi koodi näytti toimivan ongelmitta.

tesmu [04.04.2007 10:42:20]

#

Jartsala kirjoitti:

SDL:ssä täyty linkkeriin laittaa juttuja, mites tässä allegrossa? Ehkä se sitten löytäis sen allegro.h:n

gcc/g++ ei ilmota että tiedostoa ei löydy vaan linker erroria jos unohat linkittää

Jartsala [04.04.2007 14:25:03]

#

Metabolix kirjoitti:

..Kai asensit Dev-Pakin Dev-C++:n omalla päivitysohjelmalla?

Kyllä latasin, se on tietty voinu seota ku mulla oli tuo DEV4 ja poistin vaan sen kansion ja asensin 5 päälle, ehkä näin.. Outo homma niin ja kyllä allegro.h on incluudi kansiossa ja sen kaverit include/allegro.

tgunner [04.04.2007 14:26:29]

#

Mä luulin, että allegron pitää olla samassa kansioissa kavereidensa kanssa. :o
Mut olis kantsinu eka poistaa se dev4 ja sitten asentaa dev5, koska voihan siitäkin tulla jotain komplikaatioita.

Jartsala [04.04.2007 17:23:19]

#

Voi helevati, ei toimi SDL:kään enää.. Ei jumankeikkulis sentään.. Ei ois pitäny Dev 4:sta poistaa näemmä.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta