NetBeans Makefile auf Linux nutzen
- Details
- Kategorie: Linux
- Zuletzt aktualisiert am Samstag, 16. März 2013 12:46
- Veröffentlicht am Donnerstag, 07. März 2013 21:44
- Geschrieben von Thomas Pointhuber
Achtung
Achtung, es gibt eine bessere Methode um ein passendes Makefile zu erstellen. Ich werde es demnächst in diesem Beitrag beschreiben.
Vor kurzem habe ich ein C++-Programm von meinem Windows-PC auf meinem Raspberry Pi compiliert. Der Quellcode wurde mit NetBeans geschrieben, welches auch ein sogenannte ein sogenanntes Makefile erstellt. Dieses war in meinem Fall fast kompatibel zu meinem Linux System, aber nur fast.
Fehlerbehebung in den Makefiles
Das Problem in meinem Fall war dass make mit "g++.exe" compilieren wollte, ich bei linux aber keine ".exe" Endungen habe :). Man könnte die ".exe" Endungen überall händlisch löschen, ich nutze dafür aber einfach ein kleines Shell-Skript welches auch die Ersetzungen automatisiert. Den Code für das Suchen und Ersetzen habe ich von hier.
#! /bin/sh STRSEARCH=".exe" STRREPLACE="" find "." -type f -name '*.mk' -print | while read i do cp "$i" "$i.tmp" if [ -f "$i.tmp" ] then sed "s/$STRSEARCH/$STRREPLACE/g" "$i" > "$i.new" if [ -f "$i.new" ] then echo "delete all \".exe\" in $i" mv "$i.new" "$i" else echo "$i.new doesn't exist" fi else echo "$i.tmp wasn't created" fi rm "$i.tmp" done make CONF=Debug build
Das ganze wird jetzt einfach dorthin kopiert wo das Makefile liegt (normalerweise im Wurzelpfad des Projektes). Ich hab die Datei make.sh genannt.
In meinem Fall wird das Projekt mit den Debug-Einstellungen compiliert. Wer das nicht haben möchte muss das entsprechend ändern.
Compilieren
./make.sh
Dieser Befehl würde in meinem Fall das Projekt compilieren und linken, falls keine Fehler existieren. Ob das auch mit den Makefiles einer anderen IDE funktioniert kann ich nicht sagen. Bei Netbeans funktioniert es jedenfalls. Die IDE wird jetzt zum compilieren normalerweise nicht mehr benötigt. So kann man auch auf dem Terminal das Projekt ohne Probleme Compilieren