Oon saanut tarpeekseni tosta dev-cpp:n tekstieditorista, joten rupesin vääntään koodia notepad++:lla. Tämän takia pitäs sitten tehdä kääntö komentorivin puolella, mutta se tuottaa harmaita hiuksia :(
C:\Dev-Cpp\bin>gcc d:\ljv\main.c -o d:\ljv\ljv.exe -lSDL gcc: installation problem, cannot exec `cc1': No such file or directory
Googlasin hetken, ja gcc:n jossain faqissa luki, että samassa kansiossa gcc.exen kanssa pitäisi olla cc1.exe. Kopioin tuon kyseisen tiedoston joka löytyi kansiosta Dev-Cpp\libexec\gcc\mingw32\3.4.2 kansioon Dev-Cpp\bin\, jossa siis gcc.exe sijaitsee. Silti tulee virhettä, mutta erilaista:
C:\Dev-Cpp\bin>gcc d:\ljv\main.c -o d:\ljv\ljv.exe -lSDL d:\ljv\main.c: In function `SDL_main': d:\ljv\main.c:45: error: `bool' undeclared (first use in this function) d:\ljv\main.c:45: error: (Each undeclared identifier is reported only once d:\ljv\main.c:45: error: for each function it appears in.) d:\ljv\main.c:45: error: syntax error before "pois" d:\ljv\main.c:51: error: `pois' undeclared (first use in this function) d:\ljv\main.c:51: error: `false' undeclared (first use in this function) d:\ljv\main.c:55: error: `true' undeclared (first use in this function)
Koodissa ei kuitenkaan ole virheitä, sillä dev-cpp:n kautta kääntäminen onnistuu täysin samalla koodilla. Missä vika? Koodi on suoraan otettu Ohjelmointiputkan SDL-oppaasta.
Standardi-C:n syntaksista ei löydy bool-tyyppiä, sen sijaan C++:sta löytyy. Käytä bool:in sijasta vaikka int:iä tai käännä ohjelma C++-kääntäjällä korvaamalla em. kääntökomentosi "gcc" pätkällä "g++".
Kiitos. Nyt kääntyy hyvin (C:\Dev-Cpp\bin\g++ ohjelma.cpp -o ohjelma.exe -lmingw32 -lSDLmain -lSDL). Yksi ongelma on vielä. Käännetty .exe valittaa, ettei löydy SDL.dll tiedostoa. Tämä ongelma ratkeaa sillä, että kopioi tuon SDL.dll:n tuon exen kanssa samaan kansioon, mutta ei viitsisi jokaiselle kokeiluohjelmalla tuollaista tehdä. Dev-Cpp:n kanssa kun käänsi, niin ei tuota SDL.dll:ää tarvinnut erikseen mihinkään kopioida, vaan ohjelma toimi suoraan.
Olen kopioinut tiedoston jo Windows/System32-kansioon, mutta tuloksetta. Johtunee Windows Vistasta?
E: Kun alla on Windows Vista 64-bit niin täytyy olla tuo tiedosto näemmä Windows/System-kansiossa
punppis kirjoitti:
Olen kopioinut tiedoston jo Windows/System32-kansioon, mutta tuloksetta. Johtunee Windows Vistasta?
E: Kun alla on Windows Vista 64-bit niin täytyy olla tuo tiedosto näemmä Windows/System-kansiossa
Huomaa ero lukujen 32 ja 64 välillä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.