0 Daumen
660 Aufrufe

Frage:

Hallo, wie kann ich denn in C mit der IDE Codeblocks Beispielprojekte öffnen? Ich habe mal github durchsucht und möchte gerne einige Projekte selbst studieren. Dabei fällt mir oft auf dass wenn ich ein Projekt in Codeblocks öffne funktionieren diese oft nicht. Wahrscheinlich mache ich da etwas falsch. Als Beispiel dieses Projekt eines Taschenrechners:

https://github.com/btmills/calculator


Ich habe das Projekt heruntergeladen und einfach mit Codeblocks geöffnet, also die Datei "calculator.c". Wenn ich auf kompilieren drücke kommen aber viele Fehlermeldungen. Daher meine Frage, wie öffne ich das Projekt korrekt in Codeblocks damit ich es kompilieren kann. DankeUnbenannt.JPG

Avatar von

1 Antwort

0 Daumen
 
Beste Antwort

Wie ein C-Projekt kompiliert wird, ist von Projekt zu Projekt verschieden. Deshalb verfügen ernsthafte Projekte über eine Datei namens README, INSTALL oder BUILD, in der beschrieben wird, wie das Projekt kompliliert wird.

Die wenigsten C-Projekte haben eine Code::Blocks-Projektdatei (*.cbp). Das liegt wohl daran, dass Code::Blocks im professionellen Umfeld eher nicht verwendet wird.

Das von dir verlinkte Projekt verwendet make. make liest eine Datei ein, die üblicherweise Makefile heißt, und arbeitet die dort hinterlegten Schritte zur Kompilation ab. make ist so weit verbreitet, dass es wahrscheinlich schon zusammen mit deinem C-Compiler installiert wurde. Dann kannst du einfach eine Eingabeaufforderung öffnen, in das Verzeichnis des Projektes wechseln und make eintippen um das Programm zu kompilieren.

Als Alternative kannst du folgende Datei in dem Projektverzeichnis unter dem Namen calculator.cbp speichern und mit Code::Blocks öffnen.

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="calculator" />
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Debug">
<Option output="bin/Debug/calc" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Debug/" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-g" />
</Compiler>
</Target>
<Target title="Release">
<Option output="bin/Release/calc" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Release/" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-O2" />
</Compiler>
<Linker>
<Add option="-s" />
</Linker>
</Target>
</Build>
<Compiler>
<Add option="-Wall" />
</Compiler>
<Linker>
<Add option="-lm" />
</Linker>
<Unit filename="calculator.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="stack.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="stack.h" />
<Extensions />
</Project>
</CodeBlocks_project_file>

Die Datei habe ich wie folgt erstellt:

  1. Leeres Projekt erstellen.
  2. Die Dateien calculator.c, stack.c und stack.h zum Projekt hinzufügen. Deine Fehlermeldung kommt dadurch zustande, dass stack.c nicht Teil des Code::Blocks-Projektes war.
  3. Unter Project → Properties → Project settings → Project's build options ... → Linker settings im Feld Other linker options -lm hinzufügen. Dadurch wird die Standardbibliothek eingebunden, in der die mathematischen Funktionen wie sin, log oder sqrt definiert sind.
  4. Projekt speichern.
Avatar von 5,7 k

Danke für die ausführliche Antwort. Solche Informationen werden oft in Büchern nicht gesagt.

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community