A
abrissbirne
Grünschnabel
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:
Ich bekomme nun folgende Ausgabe:
Wenn ich das Ausrufezeichen for include löschen
Bekomme ich diese Ausgabe:
Komme nicht mehr weiter. Ich brauche doch gar kein Ziel für eine include Anweisung. Deshalb verstehe ich die letzte Fehlermeldung nicht.
Danke für eure Hilfe
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.
Danke für eure Hilfe