ich wollte ein paar funktionen aus der smartdimmer.h nutzen, aber wenn ich so eine funktion aufrufe bekomme ich beim linken immer eine fehlermeldung das eine referenz nicht definiert ist, obwohl sie es ist ): könnte mir jemand zeigen, wie ich die header einbinden muss?
die externen datein sind im src/include ordner.
http://rapidshare.com/files/46988434/kp ... 7.2.tar.gz
einbinden externer header in ein projekt
-
- Beiträge: 503
- Registriert: 29. Dezember 2006 22:54
- Wohnort: HL
eigentlich die zugehoerigen dateien (bei einer klasse meist <klasse>h und <klasse>.cpp) im project file hinzufuegen
... sofern die headerdetei auf ".h" und die implementierungsdatei auf ".cpp" endet.
dann eben in deinem code wo du es brauchst
mfg,
julian[/code]
Code: Alles auswählen
#ohne '<'/'>'
HEADERS += <dateiname>.h
SOURCES += <dateiname>.cpp
dann eben in deinem code wo du es brauchst
Code: Alles auswählen
#include "<dateiname>.h"
julian[/code]
hmm, das ist etwas komplizierter. die funktionen in der smartdimmer.h greifen auf die nvclock-funktionen zu (im ordner backend)
und wenn ich smartdimmer einfach hinzufüge, bekomme ich meldungen wegen nicht aufgelöster referenzen. als ich mal geschaut habe, wie man das beim smartdimmer gemacht hat, habe ich gesehen, dass der ne libbackend aus den backend-dateien erzeugt und die dazulinkt:
irgendwie habe ich es nicht hinbekommen, dass auch beim kpowersave zu machen. ich habe aber auch keine lust einen kleinen wrapper für die smartdimmer binary zu machen, nur weil ich zu dumm bin ein projekt einzurichten.
http://rapidshare.com/files/47088104/kp ... .2.tar.bz2
und wenn ich smartdimmer einfach hinzufüge, bekomme ich meldungen wegen nicht aufgelöster referenzen. als ich mal geschaut habe, wie man das beim smartdimmer gemacht hat, habe ich gesehen, dass der ne libbackend aus den backend-dateien erzeugt und die dazulinkt:
Code: Alles auswählen
CC=@CC@
INSTALL=@INSTALL@
SOURCES=smartdimmer.c
SUBDIRS=backend
libbackend=./backend/libbackend.a
prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
DEPS=$(libbackend)
INCLUDES=-I./backend -I..
LIBS=-L./backend -lbackend
.PHONY: all-recursive clean clean-app clean-recursive \
distclean install install-app install-recursive
all: all-recursive smartdimmer
smartdimmer: $(LIB) smartdimmer.c
$(CC) -o smartdimmer $(SOURCES) $(INCLUDES) $(LIBS)
clean: clean-recursive clean-app
clean-app:
rm -f smartdimmer *.exe
distclean: distclean-recursive clean-app
rm -f Makefile
install: install-recursive install-app
install-app:
$(INSTALL) -c smartdimmer $(bindir)/smartdimmer
uninstall: uninstall-recursive uninstall-app
uninstall-app:
rm -f $(bindir)/smartdimmer
# Walk through the sub directories and do what is requested
all-recursive clean-recursive distclean-recursive install-recursive uninstall-recursive:
@set fnord; target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
$(MAKE) -C $$subdir $$target ; \
done;
http://rapidshare.com/files/47088104/kp ... .2.tar.bz2