Makefile Problem für Diplomarbeit

Dieses Thema im Forum "Programmieren allgemein" wurde erstellt von abrissbirne, 19.07.2007.

  1. #1 abrissbirne, 19.07.2007
    abrissbirne

    abrissbirne Grünschnabel

    Dabei seit:
    19.07.2007
    Beiträge:
    3
    Zustimmungen:
    0
    Hallo,
    ich schreibe gerade meine Diplomarbeit und soll dort eine Schnittstelle für eine IR-Kamera zur Anbindung an eine LabView Datenaufnamesoftware. Die Schnitstelle wird in c++ programmiert. Damit ich nun meinen C++ Code in eine sogenannte Code Interface Node laden kann, muss aus dieser Datei eine .lsb Datei gebaut werden. .lsb ist eine LabView Subroutine. Dazu gibt es in der LabViw Hilfe eine Erklärung zur Erstellung eines Makefiles, welche diese Datei baut. Hier mein Code:
    Code:
    ############################### description ################################
    
    # Portable makefile to compile the source code for the CodeInterfaceNode 
    # into a LabView subroutine (.lsb) file. Therfore the c++ code must
    # be in the same directory as this makefile.
    #---------------------------------------------------------------------------
    
    
    
    ############################## find cintools ###############################
    
    # compares pattern to find cintools on you computer
    CINTOOLSDIR := d:\progra~1\nation~1\labvie~1.0\cintools
    #---------------------------------------------------------------------------
    
    
    
    ############################ additional includes ###########################
    
    # additional include pathes 
    CINCLUDE := -Id:\progra~1\matrox~1\mil\include
    
    #separate the list of your library names with spaces
    cinLibraries := d:\progra~1\matrox~1\mil\lib\mil.lib milmon.lib
    #---------------------------------------------------------------------------
    
    
    
    ######################### adjustments and defaults #########################
    
    # enter the name of your CIN
    name := Addition
    
    # type is default by CIN
    type := CIN
    
    # enable debugging tool with '1'; to disable leaving blank
    debug_trace := 1
    
    # use windows?
    define checkwin
    	$(debug-enter)
    	$(if $(COMSPEC),\
    	   cygpath-windows     = $(shell cygpath -w "$1")	\n
               
       	   cygpath-mixed 	      = $1				\n
                    cygpath-unix	      = $1) 			\n
    
    	$(debug-leave)
    endef
    #---------------------------------------------------------------------------
    
    
    
    ############################################################################
    
    #includes the by LabView written makefile (ntlvsb.mak)
    !include $(CINTOOLSDIR)\ntlvsb.mak
    #---------------------------------------------------------------------------
    
    
    
    ######################## handmade debug tools ##############################
    
    #Assertion: check if make-variable name unequal null
    # $(call assert,Bedingung,Nachricht)
    define assert
    	$(if $1,,$(error Assertion failed: $2))
    endef
    
    # $(call assert-not-null,make-Variable)
    define assert-not-null
    	$(call assert,$($1),The variable "$1" is null)
    endef
    
    $(call assert-not-null,name)
    
    # $(debug-enter)
    debug-enter = $(if $(debug_trace),$(warning entering '$0' \
    				and transfer variable ($(echo-args))))
    # $(debug-leave)
    debug-leave = $(if $(debug_trace),$(warning leaving '$0'))
    comma := ,
    echo-args = $(subst ' ','$(comma) ',$(foreach a,cintools,'$(a)'))
    #---------------------------------------------------------------------------
    
    .PHONY: trace-macro
    trace-macro:
    	$(call checkwin,$(CINTOOLSDIR))
    	$(call outputs,$(CINTOOLSDIR),$(CINCLUDE),$(cinLibraries),$(name),$(type))
    	
    
    define outputs
    	#
    	# found path (cintools) : $1
    	# found path (includes) : $2 
    	# found path (libraries): $3
    	#
    	# your entered CIN name: $4
    	# default type: $5
    endef
    
    Ich bekomme nun folgende Ausgabe:
    Code:
    make: Nothing to be done for '!include'.
    
    Wenn ich das Ausrufezeichen for include löschen
    Code:
    #includes the by LabView written makefile (ntlvsb.mak)
    include $(CINTOOLSDIR)\ntlvsb.mak
    
    Bekomme ich diese Ausgabe:
    Code:
    d:\progra~1\nation~1\labvie~1.0\cintools\ntlvsb.mak:4: *** missing seperator.  Stop
    
    Komme nicht mehr weiter. Ich brauche doch gar kein Ziel für eine include Anweisung. Deshalb verstehe ich die letzte Fehlermeldung nicht. :think:

    Danke für eure Hilfe
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 MTS, 19.07.2007
    Zuletzt bearbeitet: 19.07.2007
    MTS

    MTS Kaiser

    Dabei seit:
    09.11.2002
    Beiträge:
    1.242
    Zustimmungen:
    0
    Ort:
    NRW, Bochum
    Na ich weiss nicht ob du hier richtig bist ...

    Zumal das Makefile ja auch für Windows geschrieben wurde. Versuch mal lieber den Labview Support oder ein Windows Forum ...

    PS: Musst du make oder nmake benutzen?
     
  4. #3 abrissbirne, 19.07.2007
    abrissbirne

    abrissbirne Grünschnabel

    Dabei seit:
    19.07.2007
    Beiträge:
    3
    Zustimmungen:
    0
    Ich bin doch im Forum Programmieren allgemein. Das ist doch richtig hier. Im LabView Forum wollen sie nichts über Makefiles hören, da DLL's einfacher sind. Ich soll aber ein Makefile erstellen das portable ist. Sprich es sollte jeder sein c++ code direkt in eine lsb Datei überführen können, ohne größeren Aufwand.

    Eigentlich möchte ich gerne make verwenden und nicht nmake (wo ist da überhaupt der unterschied?). Ich denke make ist universeller. Cygwin kenn nmake auch gar nicht.

    Danke
     
Thema:

Makefile Problem für Diplomarbeit

Die Seite wird geladen...

Makefile Problem für Diplomarbeit - Ähnliche Themen

  1. makefile - Problem mit Abhängigkeit

    makefile - Problem mit Abhängigkeit: Hallo, also ich habe eine Frage zu Abhängigkeiten von Targets untereinander. Leider habe ich dazu nichts richtiges gefunden. Wie kann ich...
  2. Problem mit Makefile / C++

    Problem mit Makefile / C++: Hallo, ich hab eine Klasse A und dafuer ein automatisch erstelltes Makefile. Rauskommen soll libA.so, das funktioniert auch soweit....
  3. Problem mit dem compilierne von Makefile.PL (ich hoffe der Thread name passt)

    Problem mit dem compilierne von Makefile.PL (ich hoffe der Thread name passt): Hi again, zunächst führe ich folgenden Befehl aus perl Makefile.PM darauf hin wird eine Standart Makefile erstllt. Wenn ich...
  4. mit makefile bilder convertieren (ImageMagick)

    mit makefile bilder convertieren (ImageMagick): Hi, ich würde gern mit einer Makefile alle Bilder in ein bestimmtes format konvertieren. Zum konvertieren möchte ich ImageMagick benutzen. Das...
  5. Makefile rekursiv aufrufen

    Makefile rekursiv aufrufen: HAT SICH ERLEDIGT!! WAR EIN BISSEL DUSSELIG ;) Hi, mal eine Frage zu einem Makefile. Ich weiß nicht wie man in einer Regel eine Variable setzt,...