Für Windows kompilieren: GCC woher?
-
-
Danke Zeus, ich probiere es nochmal aus. Es hat mich aber echt gewundert wie schwer es ist an Open Source SW heranzukommen und wie wenig diese Seiten untereinander verlinkt sind. Sind wohl noch immer nicht im WWW Zeitalter angekommen...
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Mukki schrieb:
Danke Zeus, ich probiere es nochmal aus. Es hat mich aber echt gewundert wie schwer es ist an Open Source SW heranzukommen und wie wenig diese Seiten untereinander verlinkt sind. Sind wohl noch immer nicht im WWW Zeitalter angekommen...
Nun die Windows Version ist auch Nebenbeiprodukt, lange Zeit hab ich gedacht, dass das MINGW-Team gestorben sei, weil nie Updates auf GCC 4.0 kammen. Inzwischen ist da aber neues Leben eingekehrt - oder alles bei TDM geklaut xD
-
Kuckstu hier: http://sourceforge.net/projects/mingw/files
- Zweig "GCC Version 4" aufklappen.
- Dort "Current Release_ gcc-4.4.0" aufklappen
- Du brauchst mindestens folgende Archive:- gcc-c++-4.4.0-mingw32-bin.tar.gz
- gcc-c++-4.4.0-mingw32-dll.tar.gz
- gcc-core-4.4.0-mingw32-bin.tar.gz
- gcc-core-4.4.0-mingw32-dll.tar.gz
- gmp-4.2.4-mingw32-dll.tar.gz
- mpfr-2.4.1-mingw32-dll.tar.gzBei pthreads-w32-2.8.0-mingw32-dll.tar.gz bin ich mir nicht sicher, würde es aber trotzdem installieren (macht den Braten auch nicht fett).
Schließlich musst du noch die Dateie libiconv-1.13-mingw32-dll-2.tar.gz haben. Die liegt in "MinGW libiconv" -> "release 1.13".
Damit sollte der GCC laufen.
Stefan.
-
Schade eigentlich, wenn du den GCC mit dem VC6 übersetzt hättest, hätte ich dir einen ASCII-Ordnen gezeichnet.
-
DStefan: ist da nicht vor nicht allzu langer Zeit ein all-in-one-package aufgetaucht?
-
*mngbd schrieb:
DStefan: ist da nicht vor nicht allzu langer Zeit ein all-in-one-package aufgetaucht?
code-blocks gibts mit mingw im bundle.
-
;fricky schrieb:
code-blocks gibts mit mingw im bundle.
mingw sollte man aber einzeln nehmen, denke ich, da ist das updaten geregelter.
-
^^könnte sein. es gibt auch 'nen mingw installer: http://www.mingw.org/wiki/HOWTO_Install_the_MinGW_GCC_Compiler_Suite
-
@;fricky
dein Link geht zur Version 3.4.5 des MinGWHab jetzt aktuell nicht ausführlich gesucht und getestet.
Unter Linux ist es kein Problem eine 4er Version im Netz zu findenAber unter Windows hab ich als Gesamtpaket und auch unter Code::Blocks nur die 3.4.5 gefunden, obwohl Code::Blocks selbst mit einer aktuelleren Version entwickelt wird ( aber C::B gibts ja nicht nur für Windows ).
Unter Windows kenne ich die TDM Version, die bei 4.4.x sein sollte, und es soll noch 4er Versionen eventuell im Zusammenhang mit QT im Netz verfügbar sein.
MfG f.-th.
-
f.-th. schrieb:
@;fricky
dein Link geht zur Version 3.4.5 des MinGWNormalerweise hinkt der (nicht benötigte) Installer von MinGW den Paketen um ein halbes Jahr hinterher.
Current Release_ gcc-4.4.0
http://sourceforge.net/projects/mingw/files/
-
f.-th. schrieb:
@;fricky
dein Link geht zur Version 3.4.5 des MinGWist doch nicht schlimm. oder hat der 3.4.5 irgendwelche fiesen bugs, die das arbeiten mit ihm unmöglich machen?
-
;fricky schrieb:
ist doch nicht schlimm. oder hat der 3.4.5 irgendwelche fiesen bugs, die das arbeiten mit ihm unmöglich machen?
bei C++ ändert sich derzeit ein wenig. das betrifft dich nicht.
-
volkard schrieb:
bei C++ ändert sich derzeit ein wenig. das betrifft dich nicht.
der OP will doch C-sources compilen. und c++ ging ja vorher auch schon, ohne die neuerungen.
-
;fricky schrieb:
der OP will doch C-sources compilen.
Stimmt. Es ging um einen neuen Schalter.
"Warum ich den 4.4.1 benutzen will? Weil meine CPU laut GCC mit einem Schalter unterstützt wird. Dieser Schalter wird aber nicht gefunden wird.";fricky schrieb:
und c++ ging ja vorher auch schon, ohne die neuerungen.
Nö, ging nicht.
-
volkard schrieb:
"Warum ich den 4.4.1 benutzen will? Weil meine CPU laut GCC mit einem Schalter unterstützt wird. Dieser Schalter wird aber nicht gefunden wird."
hast recht, das hab ich übersehen.
volkard schrieb:
;fricky schrieb:
und c++ ging ja vorher auch schon, ohne die neuerungen.
Nö, ging nicht.
wieso das nicht?
-
;fricky schrieb:
wieso das nicht?
Bin nicht sicher, aber ist es nicht falsch, wenn
char ch=0; for(;;){ tuwas(); if(!++ch) cout<<"hallo\n"; }
keine Ausgabe macht?
(mit if(!--c) gehts)Oder template placement delete werden nicht erzeugt und aufgerufen.
-
volkard schrieb:
Bin nicht sicher, aber ist es nicht falsch, wenn
char ch=0; for(;;){ tuwas(); if(!++ch) cout<<"hallo\n"; }
^^glaub ich nicht, dass er das nicht kann. irgendwann ist 'ch' 0 und dann muss er was ausgeben. sowas wäre schon in der version 0.x aufgefallen.
volkard schrieb:
Oder template placement delete werden nicht erzeugt und aufgerufen.
naja, ich glaube es gibt keinen c++ compiler, der alle c++-spezialitäten beherrscht, die theoretisch möglich wären. dafür ist die sprache zu umfangreich und die möglichen permutationen von sprachmitteln sind einfach zu viele. das wird mit c++0x wohl noch schlimmer werden.
-
;fricky schrieb:
^^glaub ich nicht, dass er das nicht kann. irgendwann ist 'ch' 0 und dann muss er was ausgeben. sowas wäre schon in der version 0.x aufgefallen.
Hört, hört. Wenn ich sowas sage, erwarte ich, daß Du es erst testest, und nicht dumm widersprichst.
localhost ~ # nano -w main.cpp localhost ~ # g++ main.cpp && ./a.out hallo hallo hallo localhost ~ # g++ -O2 main.cpp && ./a.out localhost ~ # cat main.cpp #include <iostream> using namespace std; void tuwas(){ } int main(){ char ch=0; for(int i=0;i<1000;++i){ tuwas(); if(!++ch) cout<<"hallo\n"; } } localhost ~ # gcc -v Using built-in specs. Target: i686-pc-linux-gnu Configured with: /var/tmp/portage/sys-devel/gcc-4.3.2-r3/work/gcc-4.3.2/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.3.2 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.3.2 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.3.2/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.3.2/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --disable-fixed-point --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-multilib --enable-libmudflap --disable-libssp --enable-libgomp --disable-libgcj --with-arch=i686 --enable-languages=c,c++,treelang --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.3.2-r3 p1.6, pie-10.1.5' Thread model: posix gcc version 4.3.2 (Gentoo 4.3.2-r3 p1.6, pie-10.1.5)
naja, ich glaube es gibt keinen c++ compiler, der alle c++-spezialitäten beherrscht, die theoretisch möglich wären. dafür ist die sprache zu umfangreich und die möglichen permutationen von sprachmitteln sind einfach zu viele. das wird mit c++0x wohl noch schlimmer werden.
Das hat nichts mit Permutationen zu tun. Es ist auch nicht nötig, daß ein Compiler alle Sprachmittel beherrscht. Was er aber nicht machen sollte, ist sie stillschweigend zu akzeptieren und dann falsches Compilat zu erzeugen.