Hei,
Asensin äskettäin C++-kääntäjän täältä: https://sourceforge.net/projects/mingw/files/
(mingw-get-setup.exe / 2013-10-04)
Saan koodin käännettyä normaalisti, mutta käännetty executable jostain syystä kaatuu, kun yritän tulostaa terminaaliin tekstiä.
#include <iostream> using namespace std; int main() { cout << "Hello world!\n" << endl; }
Jos endl:in jättää lopusta pois, niin koodi toimii normaalisti. Ongelmat ovat saman suuntaisia, mitä täällä on raportoitu:
http://stackoverflow.com/questions/11975941/
Eli käännösoptiolla -O3 ylläoleva koodi toimii oikein. Kokeilin myös ketjussa neuvottuja mingw-get update & mingw-get upgrade, reinstall komentoja, mutta ne eivät auttaneet. Onkohan tämä vain tilapäinen ongelma?
Mihin ohjelma kaatuu? Kokeile ajaa ohjelma debuggerilla ja katso missä funktiossa virhe tapahtuu.
Luultavasti joko käytät kääntäjää väärin tai sitten se on asennettu väärin. Kokeile asentaa se uudestaan ja jos ei toimi, niin eri versio.
Näyttää siltä, ettei Mingw:tä projektina ole kehitetty vähään aikaan. Voisi olla kannattavaa vaihtaa uudempaan alustaan, johon julkaistaan säännöllisiä korjauspäivityksiä.
Hei,
Mitenkäs tuommoista koodin pätkää nyt oikein debugattiin (on kulunut jo jonkin aikaa, kun viimeksi C++:lla koodailin)? Ilmeisesti ainakin -g käännösoptio piti
antaa? gdb asentui tuossa mukana, mutta en enää muista kuinka sitä piti käyttää?
g++ -g -Wall hello.cpp -o hello (gdb) run Starting program: hello.exe [New Thread 10800.0x1cdc] [New Thread 10800.0xb00] [New Thread 10800.0x11a4] [New Thread 10800.0xc50] Hello world! Program received signal SIGILL, Illegal instruction. 0x0040a0c1 in _Jv_RegisterClasses ()
Onko tästä mitään apua?
Stackoverflow'n mukaan käätäminen lipukkeella -static-libstdc++
voisi auttaa.
Suosittelen yhä, että vaihdat MinGW:stä johonkin muuhun käännösalustaan.
Tuolla lipulla myös toimii. Eli jotain häikkää tuossa nykyisessä asennuksessani on. Täytyypä katsella jostain hieman uudempi kääntäjä.
Hei,
Olisiko jollakin suositella C++-kääntäjää Windowsille? Mielellään en haluaisi Visual Studion kääntäjää ja ainakin C++11-standardi olisi hyvä olla tuettuna.
Clang toimii ihan hyvin Windowsilla. http://llvm.org/releases/download.html
Aihe on jo aika vanha, joten et voi enää vastata siihen.