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:
- Leeres Projekt erstellen.
- 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. - 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. - Projekt speichern.