05.07.2007, 07:29   
(Dieser Beitrag wurde zuletzt bearbeitet: 14.08.2007 08:16  von AndreasE.)
				 
				
  Beitrag #1 
			 | 
		 
		
		
			
                                 
					
                                                 
				
                    
                     
                             
                       
                            AndreasE 
 
 
                            
                                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)  . 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
				  
				
				
				
				
				 
			 | 
                              
                 
				
 
 
				 
 | 
		 
		
			| 
				
			 | 
		 
	
 
	
		
			| 
				 
					05.07.2007, 08:19  
				 
				
  Beitrag #2 
			 | 
		 
		
		
			
                                 
					
                                                 
				
                    
                     
                            
 
 
                       
                            IchSelbst 
 
 
                            
                                LVF-Guru 
                                      
                                
  
                            
                            
	Beiträge: 3.708 
	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?   
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).  
 
				
				
				 
			 | 
                              
                 
				
 | 
		 
		
			| 
				
			 | 
		 
	
 
	
		
			| 
				 
					05.07.2007, 08:37  
				 
				
  Beitrag #3 
			 | 
		 
		
		
			
                                 
					
                                                 
				
                    
                     
                             
                       
                            rolfk 
 
 
                            
                                LVF-Guru 
                                      
                                
  
                            
                            
	Beiträge: 2.318 
	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) . 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
				  
				
				
 
				
				
				 
			 | 
                              
                 
				
 
 
				 
 | 
		 
		
			| 
				
			 | 
		 
	
 
	
		
			| 
				 
					05.07.2007, 10:08  
				 
				
  Beitrag #4 
			 | 
		 
		
		
			
                                 
					
                                                 
				
                    
                     
                             
                       
                            AndreasE 
 
 
                            
                                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?
				 
				
				
				
				
				 
			 | 
                              
                 
				
 | 
		 
		
			| 
				
			 | 
		 
	
 
	
		
			
				
					05.07.2007, 10:43   
(Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2007 10:45  von rolfk.)
				 
				
  Beitrag #5 
			 | 
		 
		
		
			
                                 
					
                                                 
				
                    
                     
                             
                       
                            rolfk 
 
 
                            
                                LVF-Guru 
                                      
                                
  
                            
                            
	Beiträge: 2.318 
	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
				  
				
				
 
				
				
				 
			 | 
                              
                 
				
 | 
		 
		
			| 
				
			 | 
		 
	
 
	
		
			| 
				 
					05.07.2007, 12:01  
				 
				
  Beitrag #6 
			 | 
		 
		
		
			
                                 
					
                                                 
				
                    
                     
                            
 
 
                       
                            IchSelbst 
 
 
                            
                                LVF-Guru 
                                      
                                
  
                            
                            
	Beiträge: 3.708 
	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).  
 
				
				
				 
			 | 
                              
                 
				
 | 
		 
		
			| 
				
			 | 
		 
	
 
	
		
			| 
				 
					19.07.2007, 12:10  
				 
				
  Beitrag #7 
			 | 
		 
		
		
			
                                 
					
                                                 
				
                    
                     
                             
                       
                            AndreasE 
 
 
                            
                                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
				 
				
				
				
				
				 
			 | 
                              
                 
				
 
 
				 
 | 
		 
		
			| 
				
			 | 
		 
	
 
	
		
			| 
				 
					21.07.2007, 08:02  
				 
				
  Beitrag #8 
			 | 
		 
		
		
			| 
                                 
				
 | 
		 
		
			| 
				
			 | 
		 
	
 
	
		
			| 
				 
					21.07.2007, 14:35  
				 
				
  Beitrag #9 
			 | 
		 
		
		
			
                                 
					
                                                 
				
                    
                     
                             
                       
                            AndreasE 
 
 
                            
                                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.
				  
				
				
				
				
				 
			 | 
                              
                 
				
 | 
		 
		
			| 
				
			 | 
		 
	
 
	
		
			| 
				 
					21.07.2007, 15:17  
				 
				
			 | 
		 
		
		
			
                                 
					
                                                 
				
                    
                     
                            
 
 
                       
                            dc6xs 
 
 
                            
                                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  
 
				
				
				 
			 | 
                              
                 
				
 
 
				 
 | 
		 
		
			| 
				
			 | 
		 
	
 
 |  |