Labview DLL einbinden

OP (Firma: hinter den 7 bergen) #1380835
Hi ,

ich habe folgendes Problem ich will in Labview Version 8.5 Studenten 
eine DLL einbinden zur Reihenberechnung. (c++ 2005 visual express 
edition). Ich habe also ein neues Prohekt geöffnet und beim Assistenten 
die Erstellung einer DLL ausgewählt und dann meine Formel zur Berechnung 
eingetragen (siehe screenshot) aber ich verstehe die Fehlermeldung net 
die da kommt und ausserdem nach dem Kompillieren steht im debug ordner 
keine .dll datei sondern eine .dll.embed.manifest aber die erkennt 
labview nicht an bzw ich kann beim konfigurieren und verzeichniss-angabe 
diese datei nicht auswählen er will eine reine .dll datei ich hoffe 
jemand von euch kennt sich da aus und weiß rat vielen dank im voraus
Angehängte Dateien:
Gast
> Du hast windows.h doppelt includiert. Das erste Mal wird es in stdafx.h
> inlcludiert und das zweite mal in deiner Source. Das wirft die Warnungen
> und vielleicht auch den Fehler.

No way. Dazu sind Headerguards ja da.
Gast
Die Frage, die ich hier aufbringen möchte, weshalb es kompliziert tun, 
wenn es auch einfach geht. Verzichte auf die Einbindung einr DLL und 
implementiere die Reihenetwicklung in LabVIEW. Dann ist alles Native und 
besser dokumentierbar, wartbar  und sogar Platformunabhängig.
OP (Firma: hinter den 7 bergen)
Die Frage kann ich dir beantworten es geht einfach darum zu üben DLL's 
in Labview einzubinden natürlich ist das einfacher es gleich in Labview 
zu tun. Aber lass dir gesagt sein das es durch das einbinden der DLL 
sehr viel schneller geht das kann man beobachten wenn man die zeit misst 
die der rechner braucht um den prozess zu verarbeiten aber nun wieder zu 
dem Problem.

Also ich hab jetzt folgendes gemacht: erstmal das microsoft visual 2005 
deinstalliert und das neue 2008 c++ express edition installiert und nun 
kam nur noch ein fehler (siehe screen) es taucht auch jetzt im debug 
ordner jetzt auch eine .dll datei auf labview jammert immer noch das er 
die funktion in der bibliothek nicht finden konnte zitat:

"Der Funktionsname konnte in der Bibliothek nicht gefunden werden. Mit 
einem Rechtsklick auf den Knoten "Aufruf externer Bibliotheken" und 
Auswahl von "Konfigurieren" können Sie den richtigen Funktionsnamen 
angeben"

im buch hieß es ebenfalls das ich eine .def datei erstellen müsste? ka 
was das ist jedenfalls hab ich eine erstellt und sie in die quelldateien 
mit eingebunden weiß nicht ob das so stimmt (siehe screen)
Persönliche Seite
Deine "screens" sind für mich sehr schlecht zu lesen.

Du hast .cpp Quellcode, d.h. du übersetzt C++ nicht C.

Möglicherweise wird die Funktion wegen dem Name Mangling von C++ nicht 
gefunden.
http://cplus.about.com/od/introductiontoprogramming/a/conventions_2.htm

Das Einbinden von DLLs aus .c Dateien in Labview ist schön hier 
beschrieben:
http://zone.ni.com/devzone/cda/tut/p/id/9167

Der Punkt "Troubleshooting the Call Library Function and Your DLL" wird 
dich interessieren
OP (Firma: hinter den 7 bergen)
Tausend Dank für den Link ich habs jetzt hinbekommen indem ich diese 
zusätzliche dll.h und extern c mit meinem prototypen programmiert habe 
labview meckert auch nicht mehr alles läuft super danke nochmal

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.