INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

externe Header-Files in DLL einbinden



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

15.10.2008, 14:50
Beitrag #1

Honeygirl24 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 169
Registriert seit: Jan 2008

8.5 , 8,6 , 2009, 2010
2007
de

90461
Deutschland
externe Header-Files in DLL einbinden
Hallo,

wie binde ich externe Header wie z.B. stdlib.h oder time.h von Visual Studio (C-Programmierung) in DLLs ein?
Ich habe nämlich eine Funktion geschrieben, der die beiden genannten Bibliotheken braucht.
Diese Funtion kann ich aber nicht in LabVIEW als DLL einbinden, da die Header stdlib.h und time.h nicht bekannt sind?

Ich hoffe ich kann weiterhelfende Antworten kriegen.


Mit freundlichen Grüßen,

Yesim
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
15.10.2008, 14:54
Beitrag #2

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
externe Header-Files in DLL einbinden
Also bei mir ginge das über die Menüleiste des BD/FP:

Werkzeuge --> Importieren --> Shared Library (.dll)

LG
Torsten

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.10.2008, 15:03
Beitrag #3

Honeygirl24 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 169
Registriert seit: Jan 2008

8.5 , 8,6 , 2009, 2010
2007
de

90461
Deutschland
externe Header-Files in DLL einbinden
Ja schon eine Funktion kann man importieren. Das geht über diesen Assistenten die du gemeint hast.
Ich habe so ca. 15 Unterfunktionen meines Programmes, die ich mit importieren möchte.
So ca. 5 Funktionen wrappt er und den Rest erkennt er nicht.
LabVIEW braucht nämlich noch die Bibliothen von Visual Studio: stdlib.h und time.h

Auf dem Bild ist das Problem erkennbar...

vlg


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.10.2008, 15:39
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
externe Header-Files in DLL einbinden
Verstehe ich richtig, du hast nochmals Funktion aus z.B. time.h in deine DLL eingebunden und als Aufruf exportiert?

Oder nein, der Screenshot impliziert, dass du einen LV nicht bekannten Datentyp übertragen willst.:hmm:Am besten selber von Hand machen, man kann auch Funktionenaufrufe ohne Assistenten implementieren, bei solch zusammengesetzten Dateitypen wird es halt in der Regel nicht ganz einfach.

Oder ist SYSTEMTIME "nur" eine U32/I32 Variable? Dann einfach so deklarieren.

Oder kopier dir aus der time.h die noch benötigten Definitionen in deine Header-Datei.

Oder: Kann man beim Import über den Assistenten nictht mehrere Pfade und Header-Dateien angeben? Dann musst du halt dazu mal die Dateien auf deinem Rechner suchen.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.10.2008, 15:45
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.698
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
externe Header-Files in DLL einbinden
' schrieb:wie binde ich externe Header wie z.B. stdlib.h oder time.h von Visual Studio (C-Programmierung) in DLLs ein

Ich gehe davon aus, du hast eine DLL in C geschrieben, die auch fehlerfrei erstellt (also kompiliert) wurde. Damit erübrigt sich aber deine Frage: nämlich das Einbinden der Headerfiles in eine DLL.

Diese DLL willst du jetzt in LV verwenden. Der automatische Import verlangt jetzt aber diverse Headerfiles. Da diese Header-Files Systemfiles sind, findet sie der Importer nicht (davon gehe ich jetzt mal aus). Leider kann ich hier nicht weiterhelfen. Außer, und so mach ich das immer:

Hinweis:
Du musst nicht unbedingt den automatischen Import machen. DLLs bzw. deren Funktionen kann man auch manuell einbinden bzw. aufrufen.

[*guck*]
Da hat einer was geschrieben.

SYSTEMTIME dürfte eine double sein.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.10.2008, 15:50
Beitrag #6

Honeygirl24 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 169
Registriert seit: Jan 2008

8.5 , 8,6 , 2009, 2010
2007
de

90461
Deutschland
externe Header-Files in DLL einbinden
' schrieb:Verstehe ich richtig, du hast nochmals Funktion aus z.B. time.h in deine DLL eingebunden und als Aufruf exportiert?

Oder nein, der Screenshot impliziert, dass du einen LV nicht bekannten Datentyp übertragen willst.:hmm:Am besten selber von Hand machen, man kann auch Funktionenaufrufe ohne Assistenten implementieren, bei solch zusammengesetzten Dateitypen wird es halt in der Regel nicht ganz einfach.

Oder ist SYSTEMTIME "nur" eine U32/I32 Variable? Dann einfach so deklarieren.

Oder kopier dir aus der time.h die noch benötigten Definitionen in deine Header-Datei.

Oder: Kann man beim Import über den Assistenten nictht mehrere Pfade und Header-Dateien angeben? Dann musst du halt dazu mal die Dateien auf deinem Rechner suchen.

Gruß, Jens



Ich habe DLL-Funktionen geschrieben der auf die beiden Bibliotheken zugreift. Wie auf dem Bild zu sehen ist, kann LabVIEW auf die zwei Biblioteken vielleicht sogar noch auf mehrere nicht zugreifen.

Das ich die Defintionen aus den Bibliotheken entnehmen und in meineder Header kopieren muss, weiß ich. Die Frage ist halt nur welche Stellen ich brauche??
Ich bräuchte unbedingt <stdlib.h> und die ist einbisschen kompliziert aufgebaut.

Bei diesem Assistenten kann ich komischerweise nur einen Pfad zu meiner Header-Datei angeben...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
15.10.2008, 15:58
Beitrag #7

Honeygirl24 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 169
Registriert seit: Jan 2008

8.5 , 8,6 , 2009, 2010
2007
de

90461
Deutschland
externe Header-Files in DLL einbinden
ich werde es mal ohne den Assistenten probieren...

vielen Dank für die Antworten...

vlg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.10.2008, 21:24
Beitrag #8

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
externe Header-Files in DLL einbinden
Offtopic

Bitte Forenregeln beachten (Punkt 10). Cross-Postings sollten mitgeteilt werden. Danke.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  DLL Import externe Struktur in Header bekommen hansi9990 15 24.767 30.09.2016 17:20
Letzter Beitrag: hansi9990
  Aufruf externe DLL Fehler 1097 Lars_Tragl 1 9.573 11.08.2016 16:13
Letzter Beitrag: Freddy
  externe DLL verstehen sarah.bla 7 13.913 05.07.2016 08:19
Letzter Beitrag: sarah.bla
  Fehlende externe Funktion galilio 4 13.244 28.04.2016 12:42
Letzter Beitrag: rolfk
  Header nicht LV Kompatibel? hansi9990 5 8.910 02.05.2015 19:38
Letzter Beitrag: hansi9990
  externe Malloc Funktion benutzen pimbolie1979 5 7.332 29.06.2012 21:20
Letzter Beitrag: rolfk

Gehe zu: