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 

DLL's und einbinden von C++Code



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!

05.07.2007, 07:29 (Dieser Beitrag wurde zuletzt bearbeitet: 14.08.2007 08:16 von AndreasE.)
Beitrag #1

AndreasE Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Jul 2007

8.2
2007
kA

66333
Deutschland
DLL's und einbinden von C++Code
Hallo,
bei mir tut sich folgende Problemstellung auf. Ich soll eine Kamera in LabVIEW einbinden und zwar in ein bereits vorhandenes in LabVIEW erstelltes Messsystem. Dazu werden Funktionen der MAtrox Imaging Library verwendet, da ein Matrox Framegrabber verwendet wird. Diese Schnittstelle wird in C++ geschrieben. In meinem C++ Code funktioniert das auch schon recht gut. MAtrox hat zusätzlich auch noch DLL's mitgeliefert. Meine Frage ist nun, was kann ich damit überhaupt machen? Könnten diese DLL's mir etwas für meine Problembehebung bringen? Was sind DLL'S und bewirken diese? Darüber hinaus habe ich versucht einen einfachen C Code über CIN einzubinden. Aber auch mit den Tuts klappt das nicht wirklich (verwende Visual Studio 2005)Pccrash. HAbe gesehen, dass mein Vorgänger eine ältere Kamera eingebunden hat und den Code mit einem makefile compiliert und gelinkt hat. Dazu ruft er cintools auf. Hat jemand damit Erfahrung? Das wäre nämlich eine schöne Lösung für mein Problem.

Vielen Dank für eure Hilfe

Andreas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.07.2007, 08:19
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
DLL's und einbinden von C++Code
' schrieb:Meine Frage ist nun, was kann ich damit überhaupt machen?
Einbinden und benutzen? Dry

Zitat:Könnten diese DLL's mir etwas für meine Problembehebung bringen?
Das kann ich dir nicht sagen, da wahrscheinlich nur wenige wissen, was diese DLLs können. Aber hierfür:

Zitat:Was sind DLL'S und bewirken diese?
kannst du mal hier kucken, vielleicht ist das Tutorial ja ausreichend.

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
05.07.2007, 08:37
Beitrag #3

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
DLL's und einbinden von C++Code
' schrieb:Könnten diese DLL's mir etwas für meine Problembehebung bringen?

Wenn Du eine API Dokumentation dazu hast und diese C Funktionen exportieren und nicht C++ Objekte oder Methoden dann wahrscheinlich schon, vorausgesetzt Du lernst erst mal etwas über C und DLLs.

Zitat:Was sind DLL'S und bewirken diese?

Siehe Reaktion von IchSelbst

Zitat:Darüber hinaus habe ich versucht einen einfachen C Code über CIN einzubinden. Aber auch mit den Tuts klappt das nicht wirklich (verwende Visual Studio 2005)Pccrash. HAbe gesehen, dass mein Vorgänger eine ältere Kamera eingebunden hat und den Code mit einem makefile compiliert und gelinkt hat. Dazu ruft er cintools auf. Hat jemand damit Erfahrung? Das wäre nämlich eine schöne Lösung für mein Problem.

CINs sind eine uralte Lösung als LabVIEW noch nicht mit DLLs zurecht kam, da das Konzept von DLLs auf der usprünglichen LabVIEW Paltform, dem Mac, noch nicht bekannt war, und die 16bit DLLs von Windows 3.1 nicht kompatibel waren mit der 32bit Umgebung in der LabVIEW programmiert wurde.

Falls Du ein bestehendes CIN etwas anpassen willst kannst Du das zwar noch ausprobieren aber die Verwendung der command line tools, zusammen mit Visual C 6 und der korrekten Konfiguration der Visual C Umgebung ist ziemlich tricky und nicht gedacht für C Anfänger. Visual Studio 2003 und noch schlimmer 2005 können zwar mit viel Geduld dazu gebracht werden auch CINs in der IDE zu generieren aber das ist meiner Meinung nach nicht sinnvoll investierte Zeit.

Wenn Du neu anfangen musst vergiss CINs ganz schnell und mache stattdessen DLLs mit Visual C. Wenn Du dann noch darauf schaust dass Du Standard C Funktionen (statt C++) von dieser DLL exportierst, kannst Du in der DLL selber soviel C++ benützen wie Du willst aber LabVIEW kann durch die Call Library Node Deine DLL aufrufen.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2007, 10:08
Beitrag #4

AndreasE Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Jul 2007

8.2
2007
kA

66333
Deutschland
DLL's und einbinden von C++Code
Kann ich nun meine in C++ geschriebene Schnittstelle in eine DLL schreiben lassen? Und diese dann einbinden?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2007, 10:43 (Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2007 10:45 von rolfk.)
Beitrag #5

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
DLL's und einbinden von C++Code
' schrieb:Kann ich nun meine in C++ geschriebene Schnittstelle in eine DLL schreiben lassen? Und diese dann einbinden?

Häää???

Also Du kannst eine DLL erstellen (in Visual Studio) die Deine C++ Software Schnittstelle aufruft und seinerseits Standard C Funktionen exportiert die LabVIEW dann durch die Call Library Node aufrufen kann. Das wird aber nicht ohne etwas C Programmierung (für Deine DLL) gehen. Wenn Dir das noch immer unverständlich ist dann hege ich doch ziemlich fest den Verdacht, dass Du damit besser gar nicht erst beginnen solltest. (Oder Dich zuvor jedenfalls intensiv, Durcharbeitung eines C Lehrbuches vielleicht, mit genereller C Programmierung und DLLs auseinandersetzst bevor Du Dich wieder daran wagst).

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2007, 12:01
Beitrag #6

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
DLL's und einbinden von C++Code
' schrieb:Kann ich nun meine in C++ geschriebene Schnittstelle in eine DLL schreiben lassen? Und diese dann einbinden?
Hast du dir das da auch mal angekuckt?

Im übrigen gilt was mein Vorredner gesagt hat.

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
Anzeige
19.07.2007, 12:10
Beitrag #7

AndreasE Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Jul 2007

8.2
2007
kA

66333
Deutschland
DLL's und einbinden von C++Code
Hallo,
unter der LAbView Hilfe gibt es eine kleine Anleitung zur Erstellung von Makefiles. Ich möchte eins schreiben das portabel ist und ohne große Anpassung aus einer c++ datei eine LabVIEW Subroutine (lsb) 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~1nation~1labvie~1.0cintools
#---------------------------------------------------------------------------



############################ additional includes ###########################

# additional include pathes
CINCLUDE := -Id:progra~1matrox~1milinclude

#separate the list of your library names with spaces
cinLibraries := d:progra~1matrox~1millibmil.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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.07.2007, 08:02
Beitrag #8

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
DLL's und einbinden von C++Code
[quote='']Hallo,
unter der LAbView Hilfe gibt es eine kleine Anleitung zur Erstellung von Makefiles. Ich möchte eins schreiben das portabel ist und ohne große Anpassung aus einer c++ datei eine LabVIEW Subroutine (lsb) baut.

Bekomme ich diese Ausgabe:
[code]d:progra~1nation~1labvie~1.0cintoolsntlvsb.mak:4: *** missing seperator.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.07.2007, 14:35
Beitrag #9

AndreasE Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Jul 2007

8.2
2007
kA

66333
Deutschland
DLL's und einbinden von C++Code
' schrieb:Vergiss CINs! Das ist alte Technik die von NI in absehbarer Zeit nicht mehr unterstützt wird. Mache DLLs!!!!!

Rolf Kalbermatter

Ok, ich glaub ich lass es. In diesem Forum wird sowieso nicht versucht einem mit seinem Problem zu helfen, sondern nur vorgeschlagen wie man es anders machen soll. Das ich evt. meine Gründe habe make zu verwenden scheint hier niemanden zu interessieren.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.07.2007, 15:17
Beitrag #10

dc6xs Offline
registered alien
****


Beiträge: 762
Registriert seit: Aug 2006

6.1,7.00
2006
kA

79106
Sonstige
DLL's und einbinden von C++Code
' schrieb:Ok, ich glaub ich lass es. In diesem Forum wird sowieso nicht versucht einem mit seinem Problem zu helfen, sondern nur vorgeschlagen wie man es anders machen soll. Das ich evt. meine Gründe habe make zu verwenden scheint hier niemanden zu interessieren.

Hallo AndreasE,

hier im Forum wird einem schon geholfen, nur kann man als Frager nicht voraussetzen, das die Tippgeber und Helfer die gleiche Ausstattung an SW&HW haben und auch wissen was man als Frager für konkrete Probleme hat. Oft ist es nämlich leider so das die Fragen nicht ausreichend formuliert werden.

Desweiteren darf man als Frager auch nicht erwarten hier eine fertige Lösung präsentiert zubekommen.

Aber zurück zu Deinem Thema.

Ob Du nun die DLL über die Projekteinstellungen Deiner IDE compilierst oder dafür Makefiles&Texteditor nutzt ist doch egal. Das ist eine Wahl die Dir überlassen ist. Nur ist das LabVIEW-Forum vielleicht etwas der falsche Ort um nach Grundlagen der C/C++-Programmierung und die Bedienung der IDE/Compiler zu fragen.

Und portable Makefiles sind sowieso so eine Sache, was meinst Du warum automake/autoconf/etc. im Linux/Unix-Bereich soverbreitet sind. (ok die auto-Tools sind auch nciht der Weisheit letzer Schluss)

So genug gelabert,

Schönes WE noch,

Rob

Bitte Beachten:
Die obenstehenden Texteile können unter Umständen Sarkasmus und Ironie enthalten, für nicht erkannten Sarkasmus oder nicht erkannte Ironie wird keine Haftung übernommen.

N.B.:
"Multiple exclamation marks, " he went on, shaking his head, "are a sure sign of a deseased mind." - Terry Pratchett
Webseite des Benutzers besuchen 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
  Einbinden externen Code mit unbekannter Parameterstruktur ghostwhisperer 12 10.959 21.12.2009 09:24
Letzter Beitrag: rolfk
  Kompl.C-Code einbinden rene 0 4.166 21.09.2006 09:00
Letzter Beitrag: rene

Gehe zu: