View previous topic :: View next topic |
Author |
Message |
Guest
|
Posted: Sat Aug 27, 2005 8:23 am Post subject: SDL kljuudas |
|
Code: |
SDL_Surface *p1 = SDL_LoadBMP("p1.bmp");
SDL_Surface *p2 = SDL_LoadBMP("p2.bmp");
|
kljuudu pazinjojums:
Quote: | error C2275: 'SDL_Surface' : illegal use of this type as an expression
error C2065: 'p1' : undeclared identifier
error C2275: 'SDL_Surface' : illegal use of this type as an expression
error C2065: 'p2' : undeclared identifier
|
Lietoju VC7.1(.Net 2003) ar jaunaakajiem SDL libiem. |
|
Back to top |
|
|
Guest
|
Posted: Sat Aug 27, 2005 9:25 am Post subject: OPĀ |
|
Es pat redzu, ka tev diezin vai ir iekļauts SDL.h, kuru es pat savā datorā neatradu.
Bet tas ir lieks, tas SDL.h, jo reāli var iztikt ar šo:
#include <iostream.h> // Neesmu pārliecināts vai tā
Tad ir vēl pāris šādu #include
using namespace sdl;
Tad raksta sdl:: un tālāk seko tas, ko tu gribi. Bet reāli man liekas, ka ir ļoti liela atšķirība.
Arī GiGas lietotais strings.h ir jāpārlabo uz string.h, jo tāds strings.h vienkārši nav iekš Visual Studio NET 2003 Enterprise Edition. |
|
Back to top |
|
|
Himself Indago dalībnieks
Joined: 13 Apr 2004 Posts: 87 Location: Rīga
|
Posted: Sat Aug 27, 2005 10:37 am Post subject: |
|
es lietoju:
Code: | #include <SDL/SDL.h> |
un pēc tam vnkārši izsaucu SDL funkčas, pirmajā reizē man arī bija problēmas piedabūt SDL pei dzīvības - šādos jaut'jumos vislabāk griezties pie sava SDL izplatītāja un iemest acis tutoriāļos. _________________ Paldies |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Sat Aug 27, 2005 10:48 pm Post subject: |
|
Konamis, tu esi nepārspējams āksts.
Guest: visdrīzāk nav atrasta SDL_Surface deklarācija. Pārbaudi vai pareizi esi iekļāvis header failus. |
|
Back to top |
|
|
Guest
|
Posted: Sun Aug 28, 2005 3:50 pm Post subject: |
|
nenormaali mistiska kljuuda
man kods bija shaadaa formaa:
main(){
...
sdl_surface...
...
}
a kad izdariiju shaadi, tad viss aizgaaja:
main(){
sdl_surface...
...
} |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Sun Aug 28, 2005 4:25 pm Post subject: |
|
Vai tik semikols nebij iepriekšējā rindā aizmirst? (vai kāda iekava/figūriekava) |
|
Back to top |
|
|
Hobits Indago organizātors
Joined: 04 Jul 2003 Posts: 491 Location: Riga
|
Posted: Sun Aug 28, 2005 4:31 pm Post subject: |
|
Interesanti ka taads main() kompileejaas. Uz vc6 vinsh izdotu unesolveetu externaali jo main'am jaabuut c standartaa: int main(int argc, char *argv[])
Luuk kas bija rakstiits SDL_main headerii:
Code: |
/* The application's main() function must be called with C linkage,
and should be declared like this:
#ifdef __cplusplus
extern "C"
#endif
int main(int argc, char *argv[])
{
}
*/
|
Bet iespeejams tas neaatiecas uz vc.net. |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Sun Aug 28, 2005 5:07 pm Post subject: |
|
Iekš C valodas jau padotos parametrus no steka atbrīvo izsaucamais kods. Tāpēc ja izsauksi funkciju ar vairāk/mazāk parametriem nekā norādīts, tad jau nekas nenokārsies (ja protams necentīsies izmantot nepadotus parametrus), atšķirībā, piemēram, no paskāla, kur noteikti viss apkārsies šādā situācijā.
Tā kā tā parametru kontrole ir papildus drošības čekings, nevis nepieciešamība. |
|
Back to top |
|
|
Hobits Indago organizātors
Joined: 04 Jul 2003 Posts: 491 Location: Riga
|
Posted: Sun Aug 28, 2005 5:22 pm Post subject: |
|
Es biju domaajis shito no SDL_main.h:
#define main SDL_main
extern C_LINKAGE int SDL_main(int argc, char *argv[]);
Ja tava main funkcija neatbilst tam paraugam tad sanaak:
unresolved external symbol _SDL_main
[edit]Pielauju tas ir droshiibai jo pats sdls var izmantot tos parametrus iekskjiigi. |
|
Back to top |
|
|
elvman Indago Uzvarētājs
Joined: 09 Apr 2003 Posts: 1278 Location: Kuldiga
|
Posted: Mon Aug 29, 2005 9:24 am Post subject: |
|
#define main SDL_main
extern C_LINKAGE int SDL_main(int argc, char *argv[]);
Kaada jeega tev defineet SDL_main? Gribi lai koda sanaak vairaak rindinjas? Nevari vienkaarshi rakstiit - extern C_LINKAGE int main(int argc, char *argv[]);? Starp citu tevis rakstiitais kods nekad nestraadaas.
Quote: | Ja tava main funkcija neatbilst tam paraugam tad sanaak:
unresolved external symbol _SDL_main |
Ja arii atbilst paraugam sanaak: unresolved external symbol _main.
main vienmeer ir un buus main, tu vinju nevari defineet ar citu nosaukumu. _________________ long time; /* know C */ |
|
Back to top |
|
|
Hobits Indago organizātors
Joined: 04 Jul 2003 Posts: 491 Location: Riga
|
Posted: Mon Aug 29, 2005 9:33 am Post subject: |
|
Hobits wrote: | ...no SDL_main.h |
To nerakstu es, tas jau ir defineets no sdl puses.
Quote: | main vienmeer ir un buus main, tu vinju nevari defineet ar citu nosaukumu. |
#define mymain main ?
Ok, es nezinu kaapeec SDLaa taa ir uztaisiits, vabuut man ir kaut kaada vecaaka versija. |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Mon Aug 29, 2005 11:24 am Post subject: |
|
SDL'am tas ir tāpēc, ka viņam ir sava main funkcija, kas veici inicializāciju, un tā tava main, ko tu definē īstenībā ir SDL_main, kuru izsauc tā īstā main fja. |
|
Back to top |
|
|
elvman Indago Uzvarētājs
Joined: 09 Apr 2003 Posts: 1278 Location: Kuldiga
|
Posted: Mon Aug 29, 2005 12:31 pm Post subject: |
|
Quote: | #define mymain main |
No saakuma paarbaudi vai tieshaam straadaa un tad posto. (Varu pateikt priekshaa - NESTRAADAA UN NEKAD NESTRAADAAS)
P.S Ja tu izmantosi funkciju mymain tad kompilators tev vienmeer izmetiis: unresolved external symbol _main _________________ long time; /* know C */ |
|
Back to top |
|
|
Hobits Indago organizātors
Joined: 04 Jul 2003 Posts: 491 Location: Riga
|
Posted: Mon Aug 29, 2005 12:58 pm Post subject: |
|
elvman wrote: | Quote: | #define mymain main |
No saakuma paarbaudi vai tieshaam straadaa un tad posto. (Varu pateikt priekshaa - NESTRAADAA UN NEKAD NESTRAADAAS)
P.S Ja tu izmantosi funkciju mymain tad kompilators tev vienmeer izmetiis: unresolved external symbol _main |
Tici man pirms postoshanas pameegjinaaju un ar DevC straadaa.
Un kaapeec lai nevareetu paardefineet, taada pati funkcija kaa jebkura cita? |
|
Back to top |
|
|
elvman Indago Uzvarētājs
Joined: 09 Apr 2003 Posts: 1278 Location: Kuldiga
|
Posted: Mon Aug 29, 2005 1:05 pm Post subject: |
|
Ar DevC neesmu njeemies taadeelj nezinu (es domaaju ka visi kompilatori straadaa daudz maz peec viena principa, bet laikam taa nav), bet uz Microsoft kompilatoriem tev nekad nekas taads nesanaaks (vinsh tavaa kodaa meklee tieshi main funkciju un ja tu to paardefinee ar citu nosaukumu nekas neizdosies). _________________ long time; /* know C */ |
|
Back to top |
|
|
|