# Absoluter C Anfänger



## Kirby.exe (25. Feb 2020)

Ich habe ab heute vorlesungsfreie Zeit und würde mich gerne etwas mit C befassen(ich benutze Eclipse als IDE). Könnte mir jemand erklären wo ich den Compiler für C/C++ bekomme? Betriebsystem ist MacOS


----------



## M.L. (25. Feb 2020)

Dazu müsste man wissen, welcher Compiler verwendet werden soll oder bereits installiert ist. GCC wäre wohl eine Standardantwort: https://mkyong.com/mac/how-to-install-gcc-compiler-on-mac-os-x/  (von 2012, die Anleitung könnte veraltet sein). Auf Eclipse-Seite wäre wohl https://www.eclipse.org/cdt/ nennenswert.


----------



## Kirby.exe (25. Feb 2020)

Danke


----------



## Kirby.exe (25. Feb 2020)

Ich habe etwas sehr schlimmes getan xD Ich wollte mein altes Workspace in zwei neue Aufteilen(eins für java und eins für c) jetzt habe ich sehr lustige Fehlermeldungen XD


```
Multiple markers at this line
    - Implicit super constructor Object() is undefined for default constructor. Must
     define an explicit constructor
    - The type java.lang.Object cannot be resolved. It is indirectly referenced from
     required .class files
```

So sieht alles aus xD Ganz ganz viele Ausrufezeichen :


Wie behebe ich den Müll?


----------



## Thallius (25. Feb 2020)

Ich würde mal sagen das Projekt weiß nicht das es ein Java Projekt ist. Wo man das bei Eclipse jetzt mitteilt weiß ich aber auch nicht mehr.


----------



## Kirby.exe (25. Feb 2020)

Habe es gefixt...Aus irgendeinem Grund hat Eclipse das JDK nicht mehr gefunden...


----------



## Kirby.exe (25. Feb 2020)

Jetzt bleibt nur noch das Problem, dass Eclipse den C-Compiler scheinbar nicht findet oder nicht verwenden kann...


----------



## Kirby.exe (25. Feb 2020)

@mihe7 pls help me xD


----------



## Thallius (25. Feb 2020)

Ich habe damals mingw genommen. Da gabs eine ganz einfache Integration für Eclipse.


----------



## Kirby.exe (25. Feb 2020)

Thallius hat gesagt.:


> Ich habe damals mingw genommen. Da gabs eine ganz einfache Integration für Eclipse.


Habe ich auch gelesen, ich bin mir nicht ganz sicher aber importiert eclipse den Compiler automatisch(installiert habe ich ihn) oder muss ich den root path hinzufügen?


----------



## mihe7 (25. Feb 2020)

Kirby_Sike hat gesagt.:


> @mihe7 pls help me xD


Apple? Nicht mir mir


----------



## Kirby.exe (25. Feb 2020)

mihe7 hat gesagt.:


> Apple? Nicht mir mir


Ach komm schon xD


----------



## mihe7 (25. Feb 2020)

Nein, das ist nichts für mich.


----------



## Kirby.exe (25. Feb 2020)

mihe7 hat gesagt.:


> Nein, das ist nichts für mich.


Weiß du denn ob man den root path zum Compiler in der IDE angeben muss oder findet er den automatisch?


----------



## mihe7 (25. Feb 2020)

Keine Ahnung.


----------



## tommysenf (25. Feb 2020)

1. Hast du die C Development Tools in Eclipse installier?
2. Hast du Xcode installiert?
3. Was passiert wenn du gcc auf der Kommandozeile eingibst?


----------



## Kirby.exe (26. Feb 2020)

tommysenf hat gesagt.:


> 1. Hast du die C Development Tools in Eclipse installier?
> 2. Hast du Xcode installiert?
> 3. Was passiert wenn du gcc auf der Kommandozeile eingibst?


1. Ja 
2. Ja
3. Was genau soll ich eingeben?


----------



## tommysenf (26. Feb 2020)

```
gcc
```


----------



## Kirby.exe (26. Feb 2020)

Scheinbar findet er den gcc compiler nicht...


----------



## mihe7 (26. Feb 2020)

Kirby_Sike hat gesagt.:


> Scheinbar findet er den gcc compiler nicht...


Doch, der Compiler meckert, dass Du keine Eingabedateien mitgegeben hast.

Leg mal eine Datei an, test.c

```
#include <stdio.h>

int main(int argc, char *argv[]) {
    printf("Hello World\n");
    return 0;
}
```

Dann übersetzen und linken:

```
gcc test.c -o hello
```
und ausführen:

```
./hello
```


----------



## Kirby.exe (26. Feb 2020)

Schon beim übersetzen beschwert er sich:


> clang: *error: *no such file or directory: 'test.c'
> clang: *error: *no input files


----------



## kneitzel (26. Feb 2020)

Hast Du die Datei denn angelegt? Bist Du in dem Verzeichnis, in dem die Datei liegt?


----------



## Kirby.exe (26. Feb 2020)

Höchstwahrscheinlich nicht, die Datei liegt per Default im eclipse-workspace


----------



## Kirby.exe (26. Feb 2020)

So habe jetzt den richtigen Path angegeben:

```
gcc /Users/eclipse-workspace/c-workspace/Hello_World/src -o hello
ld: can't map file, errno=22 file '/Users/eclipse-workspace/c-workspace/Hello_World/src' for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```


----------



## Kirby.exe (26. Feb 2020)

Was bedeutet das?:


----------



## Thallius (26. Feb 2020)

Solange der Linker failed wirst du kein executable haben


----------



## Kirby.exe (26. Feb 2020)

Thallius hat gesagt.:


> Solange der Linker failed wirst du kein executable haben


Oh man also ich habe einfach aus Neugier mal die "build-in" IDE genommen, also Xcode und da funktioniert alles xD Würde mich trotzdem warum der Compiler per normalem Terminal funktionieren möchte


----------



## kneitzel (26. Feb 2020)

Evtl. fehlen noch die xcode command line tools ... Wobei da dann eigentlich bei Aufruf vom gcc eine Hinweisbox kommen sollte. Hast Du neben xcode noch irgend etwas anderes installiert? Also noch einen anderen gcc wie z.B. den gcc, den homebrew bietet oder so?


----------



## Kirby.exe (26. Feb 2020)

Jap den habe ich installiert, jedoch kamen da auch einige Error Meldungen.


----------



## mihe7 (26. Feb 2020)

Kirby_Sike hat gesagt.:


> gcc /Users/eclipse-workspace/c-workspace/Hello_World/src -o hello


Du musst schon die Datei mit angeben, die kompiliert werden soll, mit dem Verzeichnis alleine wird das nichts


----------



## kneitzel (26. Feb 2020)

Oder eben in das Verzeichnis hineingehen und dann den Aufruf machen 

Und falls bei der Installation Fehler gekommen sind, dann wären die Fehler auch interessant gewesen


----------



## Kirby.exe (26. Feb 2020)

mihe7 hat gesagt.:


> Du musst schon die Datei mit angeben, die kompiliert werden soll, mit dem Verzeichnis alleine wird das nichts


Warum fühle ich mich gerade einfach nur dumm xD Auf magische Weise(mit deinem Tipp) funktioniert es plötzlich xD Könntest du den Terminal Befehl mal erläutern xD also gcc und path ist mir klar aber was bedeutet und tut `-o hello` ?


----------



## tommysenf (26. Feb 2020)

Kirby_Sike hat gesagt.:


> Was bedeutet das?:


Das beutet das du auf Run geklickt hast ohne vorher Build Project auszuführen


----------



## mihe7 (26. Feb 2020)

Kirby_Sike hat gesagt.:


> aber was bedeutet und tut `-o hello` ?


Gibt den Namen der Ausgabedatei an (o = output)


----------



## Kirby.exe (26. Feb 2020)

aber die Datei heißt doch test.c oder ist das eine neue Datei die erstellt wird?

BTW. Ich hab mal eine Frage...Wie erstelle ich in C ein Array von Strings? Da in C Strings als Charakter Array dargestellt werden müsste es ja eigentlich ein Array von Arrays sein? Oder?

Sowas?:

```
char stringArray[][] = {{'H','A','L','L','O'},
                        {'W', 'E', 'L', 'T'}};
```


----------



## thecain (26. Feb 2020)

Wie wäre es mal die Frage in Google einzugeben als ins Forum?

Der Lerneffekt wäre beim selber erarbeiten sicher grösser


----------



## mihe7 (26. Feb 2020)

Kirby_Sike hat gesagt.:


> aber die Datei heißt doch test.c oder ist das eine neue Datei die erstellt wird?


Eingabedatei (Quelltext) = test.c
Ausgabedatei (ausführbares Programm) = hello (unter Windows wäre das hello.exe bzw. .com)


----------



## Kirby.exe (26. Feb 2020)

mihe7 hat gesagt.:


> Eingabedatei (Quelltext) = test.c
> Ausgabedatei (ausführbares Programm) = hello (unter Windows wäre das hello.exe bzw. .com)


Ahhh ok danke


----------



## Kirby.exe (26. Feb 2020)

thecain hat gesagt.:


> Wie wäre es mal die Frage in Google einzugeben als ins Forum?
> 
> Der Lerneffekt wäre beim selber erarbeiten sicher grösser


Habs gefunden  Da war meine Idee ja fast richtig xD


----------



## mihe7 (26. Feb 2020)

Kirby_Sike hat gesagt.:


> Ahhh ok danke


Bitte, aber sollte das nicht Deine IDE übernehmen?


----------



## Kirby.exe (26. Feb 2020)

mihe7 hat gesagt.:


> Bitte, aber sollte das nicht Deine IDE übernehmen?


Also in Xcode tut sie es aber Eclipse stellt sich immernoch quer xD


----------



## Kirby.exe (27. Feb 2020)

Ich habe das Problem gelöst, ich verstehe zwar nicht ganz warum Eclipse es nun anders macht, aber scheinbar wird das Programm nicht built und run mit einem Button. Wenn ich das Programm mit cmd+b builde und dann execute dann funktioniert alles....Eclipse > Kirby


----------



## Barista (28. Feb 2020)

Wenn Du einen Mac hast, benutze doch einfach XCode, das kann auch C.


----------



## Kirby.exe (28. Feb 2020)

Barista hat gesagt.:


> Wenn Du einen Mac hast, benutze doch einfach XCode, das kann auch C.


Benutze ich ja auch, nur hatte es mich gewundert, dass Eclipse solche Probleme macht xD


----------

