DevCPP Improved Console einbinden... libs und so
-
wahrscheinlich mache ich ein paar schritte falsch ... deswegen das topic hier ... also fangen wir mal an:
#include <iostream> #include "ic.h" using namespace std; int main () { textcolor(FG_RED); cout << "Hello World" << endl; return 0; }
funzt super wenn ich zusaetzlich die mitgegebenen files ic.h , ic.hpp , ic.cpp mit ins projekt einbinde! .. will ich aber nicht !! *G* (jedes mal aufs neue saugt)
also dachte ich erstelle ich mir ne static lib.
mache also ein neues projekt: erstellen einer static lib. anschliessend fuege ich die drei dateien ein und lass den compiler sein werk verrichten. was kommt raus? ne ic.a natuerlich... komischerweise (als noob findet man alles komisch) hab ich noch eine ic.o, da wo die drei datein waren. kann nicht schaden denk ich mir also ... und kopiere alle 5 sachen in einen ordner!
nun gehe ich in devcpp unter compileroptions zu directories, und verweise sowohl bei libraries als auch bei c++ includes auf diesen "magischen" ordner!
im programm aender ich noch die zeile
#include "ic.h" zu #include <ic.h> um und lasse den compiler wieder ran. was kommt raus?[Linker error] undefined reference to `ic::con'
wo liegt nun mein fehler?
-
wahrscheinlich hast du vergessen, die lib zu linken. ein "-lic" bei den zusätzlichen linkeroptionen sollte so wie du es beschrieben hast genügen.
geloescht
-
Alles in einen Ordner zu kopieren ist wahrscheinlich nicht der beste Weg.
ic.h und ic.hpp in den Include-Ordner
ic.cpp wird gar nciht mehr benötigt
ic.a in den Library-Ordner
ic.o -> keine Ahnung, muss dir ein devcpp-Spezialist sagen ob das notwendig istUnd dann wie von geloescht beschrieben die Library dazulinken, nur den Pfad der Library anzugeben wird dem Linker egal sein. Er kennt zwar jetzt den Pfad aber includiert nicht automatisch alle darin enthaltenen Libraries.
MfG SideWinder
-
nicht ganz geloescht ... was genau soll ich nun dem linker zusaetzlich als kommando mitgeben ? -lic / -lib / -lib <pfad> funzt nicht ... hab dich wohl falsch verstanden... hab jetzt die zeile -I"<'pfad+ordner'>" hinzugefuegt ... geht trotzdem nicht