GCC-64 Version 10.3.0

Gast #6985312
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.
#6985338
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.
Gast #6986455
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
Gast #6986458
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
#6986836
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
Gast #6986936
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
Gast #6987015
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.
Gast #6987017
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 ; }
Gast #6987297
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren