mingw-g++ downgrade ???

Miten msys mingw-gcc -ympäristöön (Windows XP) saa downgraden tehtyä:

g 4.7.0 -> g 4.4.0

Tuo uudempi g 4.7.0 ei hyväksy tätä:

textOut = new TextOutputDev::TextOutputDev((TextOutputFunc)myfunc, myStream, physLayout, fixedPitch, rawOrder);

ja yritys korjata asiaa näin:

textOut = (TextOutputDev *)new TextOutputDev::TextOutputDev((TextOutputFunc)myfunc, myStream, physLayout, fixedPitch, rawOrder);

poistaa yhden kolmesta virheilmoituksesta, mutta 2 virhettä jää edelleen.

TÄSMÄLLEEN sama C?? -koodi menee virheittä läpi, kuin sen kääntää

g versiolla 4.4.0.

Tutkin tuota mingw -asennusta ja...

$ mingw32-gcc --version
mingw32-gcc.exe (GCC) 4.7.0
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


$ mingw32-gcc-4.4.0 --version
mingw32-gcc-4.4.0.exe (GCC) 4.4.0
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ELI pelkän C -kielen kääntämiseen vanhan kääntäjän saa käyttöön, kun makefilessä määrittää CC -kohtaan gcc:n sijasta mingw32-gcc-4.4.0.

MUTTA kun halutaan kääntää C -kieltä, niin eipä löydy enää koneelta vanhempaa 4.4.0 -versiota (mingw msys -päivitys näköjään jätti vanhan gcc 4.4.0 kääntäjän mutta uudelleennimesi sen mingw32-gcc-4.4.0:ksi, mutta sensijaan C -kääntäjän osalta vanha versio tuhottiin päivityksessä ! )

MITEN saa uudelleen asennettua tuon vanhemman g 4.4.0:n ?

Ei ole mukavaa yrittää selvittää, miksi sama koodi joka kelpasi g 4.4.0:lle, ei enää kelpaakaan 4.7.0:lle.

Siispä downgrade olisi tarpeen, mutta mistä tuon vanhemman saa windows exe -muodossa ?
2382
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

gcc ja g downgrage:

1. imuroi tämä:

(suora linkki mingw-gcc asennuspakettiin)
http://garr.dl.sourceforge.net/project/mingw/MinGW/Base/gcc/Version4/Previous Release gcc-4.4.0/gcc-full-4.4.0-mingw32-bin-2.tar.lzma

JOS suora linkki lakkaa toimimasta, niin tässä lataussivu:
http://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/Previous Release gcc-4.4.0/

lataussivulta tämä:
gcc-full-4.4.0-mingw32-bin-2.tar.lzma

(purkaminen esim. 7zip -ohjelmalla)

tuo em. gcc-full-4.4.0-mingw32-bin-2.tar.lzma puretaan johonkin tilapäiseen hakemistoon.

KUN se on purettu, mene ko. tilaipäishakemistoon ja siellä paina Ctrl-A ( = Valitse kaikki ). Tämän jälkeen kaikkien näiden alihakemistojen tulee olla valittuna:

bin
info
lib
libexec
man
mingw32
share

Seuraavaksi:

Paina Ctrl-C ( Copy )

sitten avaa toiseen ikkunaan:

C:\Mingw (siellä on seuraavanlaisia alihakemistoja)

bin
doc
include
info
lib
libexec
man
mingw32
msys
share
var

tuossa C:\Mingw hakemistossa paina CTRL-V ( Liitä )

Vastaa KYLLÄ kysymyksiin (1. korvaa kaikki ja 2. Korvaa myös kaikki Read-Only -tiedostot)

Odota ...

Nyt kaikki gcc:n ja g :n 4.7 -version ilman versionumeroa olevat tiedostot on korvattu version 4.4.0 vastaavilla.

Tuon tempun jälkeen tosin se 4.4.7 ei välttämättä toimi edes versionumeron sisältävillä EXE:n nimillä, mutta en tarvitse 4.7:aa, joten ei haittaa.

JOS joku muu haluaa säilyttää 4.7:n toimintakelpoisena, niin tyly päällekopiointi ilman varmuuskopiontia ei välttämättä ole paras tapa.

Mutta ainakin 4.4 kääntää saman minkä ennen koko hässäkkää,
eli 4.4:n käyttöä jatkamalla en joudu ihmettelemään, miksi C koodi ei enään kelpaa kääntäjälle.

Toki, jos joku tietää, voi kertoa, mitä vikaa edellisessä viestissä olleessa koodinpätkässä muka on, kun g 4.7 ei sitä suostu kääntämään, mutta g 4.4.0 :lle se kelpaa oikein mainiosti.

Äänestä

tack tack

Äänestä

Kommentoi aloitusta


g++ 4.7 -> g++ 4.4 kirjoitti:

Miten msys mingw-gcc -ympäristöön (Windows XP) saa downgraden tehtyä:

g 4.7.0 -> g 4.4.0

Tuo uudempi g 4.7.0 ei hyväksy tätä:

textOut = new TextOutputDev::TextOutputDev((TextOutputFunc)myfunc, myStream, physLayout, fixedPitch, rawOrder);

ja yritys korjata asiaa näin:

textOut = (TextOutputDev *)new TextOutputDev::TextOutputDev((TextOutputFunc)myfunc, myStream, physLayout, fixedPitch, rawOrder);

poistaa yhden kolmesta virheilmoituksesta, mutta 2 virhettä jää edelleen.

TÄSMÄLLEEN sama C?? -koodi menee virheittä läpi, kuin sen kääntää

g versiolla 4.4.0.

Tutkin tuota mingw -asennusta ja...

$ mingw32-gcc --version
mingw32-gcc.exe (GCC) 4.7.0
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


$ mingw32-gcc-4.4.0 --version
mingw32-gcc-4.4.0.exe (GCC) 4.4.0
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ELI pelkän C -kielen kääntämiseen vanhan kääntäjän saa käyttöön, kun makefilessä määrittää CC -kohtaan gcc:n sijasta mingw32-gcc-4.4.0.

MUTTA kun halutaan kääntää C -kieltä, niin eipä löydy enää koneelta vanhempaa 4.4.0 -versiota (mingw msys -päivitys näköjään jätti vanhan gcc 4.4.0 kääntäjän mutta uudelleennimesi sen mingw32-gcc-4.4.0:ksi, mutta sensijaan C -kääntäjän osalta vanha versio tuhottiin päivityksessä ! )

MITEN saa uudelleen asennettua tuon vanhemman g 4.4.0:n ?

Ei ole mukavaa yrittää selvittää, miksi sama koodi joka kelpasi g 4.4.0:lle, ei enää kelpaakaan 4.7.0:lle.

Siispä downgrade olisi tarpeen, mutta mistä tuon vanhemman saa windows exe -muodossa ?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu