Ich hab es unter Windows noch nicht ausprobiert, aber .lib müsste man ganz einfach mit Import "canbusdrv64.lib" importieren können. Dann musst du innerhalb "Import" und "EndImport" die Funktionen definieren und schon kannst du sie benutzen.
Habe ich auch schon getestet.
Da kommt eine Fehlermeldung beim compilieren dass die canusbdrv64.dll fehlt.
Kann man denn die 32Bit Version von PureBasic paralell mit der 64Bit Version auf dem Rechner installieren?
oder Muss ich da einen zweiten Rechner verwenden.
Hat schon mal jemand das CANUSB Interface mit PureBasic eingebunden ? http://www.canusb.com
Hardware: Mimot Advantage, Mydata TP9, Ekra E1-V, SMT-400C, Dima Breeze, Dima DD500, Emco Compact8, ISEL Miniflat.
Software: PureBasic 5.31, EasyWinArt, Geomagic Design, Pulsonix, Altium, Proteus, CCS Compiler for PIC, CrossStudio for ARM, JumpStarter C for AVR
Du kannst nicht nur die 32 und 64bit Version parallel installieren, sondern auch verschiedene Versionen (z.B. 4.61, 5.22 LTS, 5.31, etc).
Dann hast du die Möglichkeit in den Compileroptionen für das jeweilige Projekt die entsprechende Version des Compilers auszuwählen und auch alte Projekte noch komilieren zu können, wenn du bereits eine neuere PB Version installiert hast.
wfly31 hat geschrieben:Habe ich auch schon getestet.
Da kommt eine Fehlermeldung beim compilieren dass die canusbdrv64.dll fehlt.
Hast du auch den vollständigen Pfad der Lib angegeben? Oder hast du sie nur im selben Ordner wie dein Quellcode?
Am Ende sollte es ungefähr so aussehen:
@NichtheQuick
Mit dem vollständigen Pfad habe ich das auch schon probiert. Ist kein Unterschied.
Habe alle DLL und Lib Dateien testweise in den Programmordner kopiert und mit dem Programm "Lib2PBImport"
aus der DLL bzw. Lib die Importdaten generiert.
; Libname: canusbdrv64.lib
; created: 2015/10/01 20:39
Import "canusbdrv64.lib"
CanalBlockingReceive() As "CanalBlockingReceive"
CanalBlockingSend() As "CanalBlockingSend"
CanalClose() As "CanalClose"
CanalDataAvailable() As "CanalDataAvailable"
CanalGetDllVersion() As "CanalGetDllVersion"
CanalGetLevel() As "CanalGetLevel"
CanalGetStatistics() As "CanalGetStatistics"
CanalGetStatus() As "CanalGetStatus"
CanalGetVendorString() As "CanalGetVendorString"
CanalGetVersion() As "CanalGetVersion"
CanalOpen() As "CanalOpen"
CanalReceive() As "CanalReceive"
CanalSend() As "CanalSend"
CanalSetBaudrate() As "CanalSetBaudrate"
CanalSetFilter() As "CanalSetFilter"
CanalSetMask() As "CanalSetMask"
canusb_Close() As "canusb_Close"
canusb_Flush() As "canusb_Flush"
canusb_GetStatistics() As "canusb_GetStatistics"
canusb_Open() As "canusb_Open"
canusb_Read() As "canusb_Read"
canusb_ReadEx() As "canusb_ReadEx"
canusb_ReadFirst() As "canusb_ReadFirst"
canusb_ReadFirstEx() As "canusb_ReadFirstEx"
canusb_SetTimeouts() As "canusb_SetTimeouts"
canusb_Status() As "canusb_Status"
canusb_VersionInfo() As "canusb_VersionInfo"
canusb_Write() As "canusb_Write"
canusb_WriteEx() As "canusb_WriteEx"
canusb_getFirstAdapter() As "canusb_getFirstAdapter"
canusb_getNextAdapter() As "canusb_getNextAdapter"
canusb_setReceiveCallBack() As "canusb_setReceiveCallBack"
EndImport
Um an die Lib bzw. DLL vom Hersteller zu kommen muss man die Installationsdateien installieren.
Dann befinden sich die DLL bzw. Lib Datei im "LAWICEL" Verzeichnis.
Oder ich kann Sie Dir auch per Mail zusenden.
Hardware: Mimot Advantage, Mydata TP9, Ekra E1-V, SMT-400C, Dima Breeze, Dima DD500, Emco Compact8, ISEL Miniflat.
Software: PureBasic 5.31, EasyWinArt, Geomagic Design, Pulsonix, Altium, Proteus, CCS Compiler for PIC, CrossStudio for ARM, JumpStarter C for AVR
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.