Forum: PC-Programmierung GCC-64 Version 10.3.0


von Voll keine Ahnung (Gast)


Lesenswert?

Hallo, auf meinem PC mit Windows 10 als OS habe ich MinGW installiert.

Nun bin ich auf der Suche nach einer IDE oder GUI dazu. Finde aber 
nichts. Es fehlt doch noch irgendwas, aber was?

Was braucht man denn noch dazu?

: Verschoben durch Admin
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Voll keine Ahnung schrieb:
> Was braucht man denn noch dazu?

Warum hast du denn MinGW installiert? Das macht man doch nicht aus Jux 
und Tollerei, sondern weil man es benutzen möchte. Nun - für was 
brauchst du MinGW?

von Εrnst B. (ernst)


Lesenswert?


von Voll keine Ahnung (Gast)


Lesenswert?

Um Quelltexte zu kompilieren.

In der Konsole bekomme auf:

g++ --version
gdb --version

C:\TDM-GCC-64>g++ --version
g++ (tdm64-1) 10.3.0
Copyright (C) 2020 Free Software Foundation, Inc.
Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es
gibt KEINE Garantie; auch nicht für MARKTGÄNGIGKEIT oder FÜR SPEZIELLE 
ZWECKE.


C:\TDM-GCC-64>gdb -- version
GNU gdb (GDB) 10.2
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
<http://gnu.org/licenses/gpl.html>;
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

von Εrnst B. (ernst)


Lesenswert?

Voll keine Ahnung schrieb:
> Um Quelltexte zu kompilieren.
>
> In der Konsole

dazu schau dir das Handbuch zum GCC an.

https://gcc.gnu.org/onlinedocs/gcc-10.3.0/gcc/#toc-GCC-Command-Options

in etwa
1
g++.exe -o programm.exe -Wall -O2 sourcecode.cpp

Oder du installierst dir eine IDE mit Quelltexteditor, 
Syntaxhighlighting, Debugger, Versionsverwaltung, ....

VSCode ist kostenlos und durchaus brauchbar.
Link ist oben.

von Nano (Gast)


Lesenswert?

Εrnst B. schrieb:
> Voll keine Ahnung schrieb:
>> Um Quelltexte zu kompilieren.
>>
>> In der Konsole
>
> dazu schau dir das Handbuch zum GCC an.
>
> https://gcc.gnu.org/onlinedocs/gcc-10.3.0/gcc/#toc-GCC-Command-Options
>
> in etwa
> g++.exe -o programm.exe -Wall -O2 sourcecode.cpp
>

Und das ist für MinGW falsch.

Bei MinGW soll man g++.exe bzw. gcc.exe nicht direkt aufrufen,
sondern das über die entsprechenden
mingw64&#8209;g++.exe und mingw32&#8209;g++.exe
bzw.
mingw64&#8209;gcc.exe und mingw32&#8209;gcc.exe Pendants machen.

Das hat den Grund, weil mingw??&#8209;g++.exe für MinGW noch ein paar 
Umgebungseinstellungen richtig setzt.

Aus obigem wird also:
1
mingw64-g++.exe -o programm.exe -Wall -O2 sourcecode.cpp
bzw.
1
mingw64-gcc.exe -o programm.exe -Wall -O2 sourcecode.c

von Nano (Gast)


Lesenswert?

Sehr ärgerlich, dass die Vorschau den Bindestrich richtig umsetzt und es 
dann im abgeschickten Kommentar wieder falsch ist.

Das &#8209; bitte durch einen normalen Bindestrich ersetzen.

von Programmierer (Gast)


Lesenswert?


von Nano (Gast)


Lesenswert?

Voll keine Ahnung schrieb:
> Nun bin ich auf der Suche nach einer IDE oder GUI dazu. Finde aber
> nichts. Es fehlt doch noch irgendwas, aber was?

Du kannst Eclipse für C/C++ downloaden. Dann hast du eine vollwertige 
IDE mitsamt Debugger.

Die Aufrufe für den Compiler musst du dann lediglich noch entsprechend 
in Eclipse einstellen, falls es nicht automatisch erfolgt.
Es empfiehlt sich daher auch MinGW immer vor Eclipse zu installieren und 
die IDE dann hinterher.

https://www.eclipse.org/downloads/packages/installer

von Oliver S. (oliverso)


Lesenswert?

Nano schrieb:
> Es empfiehlt sich daher auch MinGW immer vor Eclipse zu installieren und
> die IDE dann hinterher.

Eclipse schafft das inzwischen ganz zuverlässig auch anders herum.

Zur Ausgangsfrage:

MinGW bringt dir den Compiler mit Toolchain, nicht mehr und nicht 
weniger.
Als IDE kannst du dir dazu jede installieren, die dir gefällt.

Und nur so als Hinweis: Statt MingW nimm Msys2

Oliver

von Voll keine Ahnung (Gast)


Lesenswert?

So msys2 habe ich installiert inclusive pacman.

Jetzt müßte ich eine Konsolenanwendung kompilieren.

Wie geht das? Was muß ich eingeben?

Vorhanden:

Makefile

und diverse files...

abc.h
abc.cpp

von Programmierer (Gast)


Lesenswert?

Voll keine Ahnung schrieb:
> Wie geht das? Was muß ich eingeben?

make

von Voll keine Ahnung (Gast)


Lesenswert?

Programmierer schrieb:
> Voll keine Ahnung schrieb:
>> Wie geht das? Was muß ich eingeben?
>
> make

Wo?

Bei mir ist ein Konsolenfenster von MINGW64 geöffnet
und als Prompt ein $ Zeichen.

von Programmierer (Gast)


Lesenswert?

Voll keine Ahnung schrieb:
> Bei mir ist ein Konsolenfenster von MINGW64 geöffnet
> und als Prompt ein $ Zeichen.

Ja dann da in das Projektverzeichnis wechseln und "make" eingeben.

von Voll keine Ahnung (Gast)


Lesenswert?

Programmierer schrieb:
> Voll keine Ahnung schrieb:
>> Bei mir ist ein Konsolenfenster von MINGW64 geöffnet
>> und als Prompt ein $ Zeichen.
>
> Ja dann da in das Projektverzeichnis wechseln und "make" eingeben.

habe gerad "help" eingegenen in der Konsole, ein "?" reichte nicht. 
Danach konnte ich das Laufwerk definieren und das dir hat endlich 
funktioniert. :)

Ich bin jetzt im Verzeichnis src. Ein "make" kennt er aber nicht.

von Voll keine Ahnung (Gast)


Lesenswert?

Voll keine Ahnung schrieb:
> Programmierer schrieb:
>> Voll keine Ahnung schrieb:
>>> Bei mir ist ein Konsolenfenster von MINGW64 geöffnet
>>> und als Prompt ein $ Zeichen.
>>
>> Ja dann da in das Projektverzeichnis wechseln und "make" eingeben.
>
> habe gerad "help" eingegenen in der Konsole, ein "?" reichte nicht.
> Danach konnte ich das Laufwerk definieren und das dir hat endlich
> funktioniert. :)
>
> Ich bin jetzt im Verzeichnis src. Ein "make" kennt er aber nicht.

Privat@Privat-PC MINGW64 ~
$ help
GNU bash, version 5.1.8(1)-release (x86_64-pc-msys)
These shell commands are defined internally.  Type `help' to see this 
list.
Type `help name' to find out more about the function `name'.
Use `info bash' to find out more about the shell in general.
Use `man -k' or `info' to find out more about commands not in this list.

A star (*) next to a name means that the command is disabled.

 job_spec [&]                            history [-c] [-d offset] [n] or 
hist>
 (( expression ))                        if COMMANDS; then COMMANDS; [ 
elif C>
 . filename [arguments]                  jobs [-lnprs] [jobspec ...] or 
jobs >
 :                                       kill [-s sigspec | -n signum | 
-sigs>
 [ arg... ]                              let arg [arg ...]
 expression                        local [option] name[=value] ...
 alias [-p] [name[=value] ... ]          logout [n]
 bg [job_spec ...]                       mapfile [-d delim] [-n count] 
[-O or>
 bind [-lpsvPSVX] [-m keymap] [-f file>  popd [-n] [+N | -N]
 break [n]                               printf [-v var] format 
[arguments]
 builtin [shell-builtin [arg ...]]       pushd [-n] [+N | -N | dir]
 caller [expr]                           pwd [-LPW]
 case WORD in [PATTERN [| PATTERN]...)>  read [-ers] [-a array] [-d 
delim] [->
 cd [-L|[-P [-e]] [-@]] [dir]            readarray [-d delim] [-n count] 
[-O >
 command [-pVv] command [arg ...]        readonly [-aAf] [name[=value] 
...] o>
 compgen [-abcdefgjksuv] [-o option] [>  return [n]
 complete [-abcdefgjksuv] [-pr] [-DEI]>  select NAME [in WORDS ... ;] do 
COMM>
 compopt [-o|+o option] [-DEI] [name .>  set [-abefhkmnptuvxBCHP] [-o 
option->
 continue [n]                            shift [n]
 coproc [NAME] command [redirections]    shopt [-pqsu] [-o] [optname 
...]
 declare [-aAfFgiIlnrtux] [-p] [name[=>  source filename [arguments]
 dirs [-clpv] [+N] [-N]                  suspend [-f]
 disown [-h] [-ar] [jobspec ... | pid >  test [expr]
 echo [-neE] [arg ...]                   time [-p] pipeline
 enable [-a] [-dnps] [-f filename] [na>  times
 eval [arg ...]                          trap [-lp] [[arg] signal_spec 
...]
 exec [-cl] [-a name] [command [argume>  true
 exit [n]                                type [-afptP] name [name ...]
 export [-fn] [name[=value] ...] or ex>  typeset [-aAfFgiIlnrtux] [-p] 
name[=>
 false                                   ulimit 
[-SHabcdefiklmnpqrstuvxPT] [l>
 fc [-e ename] [-lnr] [first] [last] o>  umask [-p] [-S] [mode]
 fg [job_spec]                           unalias [-a] name [name ...]
 for NAME [in WORDS ... ] ; do COMMAND>  unset [-f] [-v] [-n] [name ...]
 for (( exp1; exp2; exp3 )); do COMMAN>  until COMMANDS; do COMMANDS; 
done
 function name { COMMANDS ; } or name >  variables - Names and meanings 
of so>
 getopts optstring name [arg ...]        wait [-fn] [-p var] [id ...]
 hash [-lr] [-p pathname] [-dt] [name >  while COMMANDS; do COMMANDS; 
done
 help [-dms] [pattern ...]               { COMMANDS ; }

von Programmierer (Gast)


Lesenswert?

Eieiei, hast du überhaupt schon mal auf der Konsole gearbeitet? Das ist 
nur die Hilfe der Shell. Die verfügbaren Programme wie make sind da 
nicht aufgeführt.

von Voll keine Ahnung (Gast)


Lesenswert?

Voll keine Ahnung schrieb:
> Privat@Privat-PC MINGW64 ~
> $ help

Ja, aber es schon sehr lange her. Den Dreisprung unter Linux kenne ich.

Aber es wundert mich natürlich, da:

Privat@Privat-PC MINGW64 ~
$ help

ich glaubte schon im Compiler zu sein...

von Nano (Gast)


Lesenswert?

Voll keine Ahnung schrieb:
> Ich bin jetzt im Verzeichnis src. Ein "make" kennt er aber nicht.

Du musst in das Verzeichnis, in der auch das Makefile liegt, wenn das 
Projekt, dass du compilieren willst, eine solche mitliefert.

> Aber es wundert mich natürlich, da:
>
> Privat@Privat-PC MINGW64 ~
> $ help
>
> ich glaubte schon im Compiler zu sein...

In der Hoffnung dass du nicht trollst.

Der Compiler ist keine Shell, du bist in der Bash und von der kannst du 
diverse Programme aufrufen, auch den Compiler.

Am besten wäre es, wenn du dir mal auf Youtube eine Einführung in die 
Programmierung mit C oder C++ anguckst und da etwas raussuchst, wo MinGW 
verwendet wird.
Im ersten Video wird das dann gezeigt, sofern du Glück hast.

von Oliver S. (oliverso)


Lesenswert?

Oliver S. schrieb:
> MinGW bringt dir den Compiler mit Toolchain, nicht mehr und nicht
> weniger.

Das war wörtlich gemeint. Wenn du mehr haben willst, z.B. make, musst du 
das nachinstallieren.

Das ist im Paket base-develop von Msys2 enthalten.

Oliver

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.