Eigenes Test-Framework entwickeln



  • Hi,
    für ein Projekt in der Uni soll ich ein eigenes Test-Framework in C++ schreiben.
    Nun bin ich an der Entwicklung und stelle fest wie bekomme ich die meine Fremd-Header in das Framework.
    Die Main des Test-Framework's ruft die Header Dateien in meinen eigentlichen Projekt auf. Diese besitzen aber gewisse Drittanbieter Header welche ganz woanders auf der Festplatte liegen.
    Sie werden ja im eigentlichen Projekt mit <...> inkludiert und der Präprozessor sucht da ja nur im Include-Verzeichnis.
    Um das Framework zu kompilieren habe ich mir einen passenden Makefile geschrieben und rufe diesen per Shell Script auf. Muss ich die Header der Drittanbieter in diesen Makefile integrieren und wenn ja wie.

    Hier mal mein Makefile

    CC=g++
    GIT_ROOT=$(shell git rev-parse --show-toplevel)
    PROJECT_ROOT=$(GIT_ROOT)/UniProjekt/src
    CPPFLAGS=-Wall -std=c++03
    SRC=$(wildcard *.cpp)
    OBJ=$(SRC:.cc=.o)
    DEP=$(SRC:.cc=.d)
    TARGET=testFramework
    
    .PHONY: clean
    
    %.d: %.cc
    	@set -e; rm -f $@; \
    	$(CC) -MM $(CPPFLAGS) $< -o $@; \
    	sed -i 's,\($*\)\.o[ :]*,\1.o $@ : ,g' $@;
    
    all: $(TARGET)
    
    clean:
    	rm -f $(TARGET)
    
    $(TARGET):  $(OBJ)
    	    $(CC) -o $(TARGET) $(OBJ)
    

    Vielen Dank für eure Hilfe.



  • Dieser Thread wurde von Moderator/in Arcoth aus dem Forum C++ (alle ISO-Standards) in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • mal mit $(CC) -I/path/to/includes probiert?



  • Habe jetzt mal 3 Varianten getestet aber leider kein Ergebnis erziehlt

    1. Include in CPPFLAGS

    CPPFLAGS=-Wall -std=c++03 -I$(GIT_ROOT)/test/include
    

    Kein Ergebnis

    2. Include in CC

    CC=g++ -I$(GIT_ROOT)/test/include
    

    Noch mehr Header Dateien wurden nicht gefunden

    3. Originaler Pfad zum include Order
    Hier werden jetzt sogar nicht verwendete Header-Dateien, welche sich ganz wo anders befinden liegen, eingebunden und dies führt auch zu vielen Fehlern.


Log in to reply