Hi Hansi,
Le 04/08/2019 à 14:05, Johann Glaser a écrit :
Thanks for your effort and please excuse my late reply, I was busy the
last few days.

With pleasure.

test1library.pas from branch "libusb-1.0" worked nearly out of the box.

I nearly just needed to redefine extdecl from stdcall to cdecl as in Linux.

I copied (libusb-1.0.22)\MinGW64\dll\libusb-1.0.dll of 274 Ko to (pas-libusb branch libusb-1.0)\src\examples.
In libusb.pas I removed {$LINKLIB c} and changed {$LINKLIB usb-1.0} to {$LINKLIB libusb-1.0.dll}
I join my diff files. Lazarus made a few changes to test1library.lpi but I don't think they are important.
I verified, test1library can be build with this command line:

C:\lazarus\fpc\3.0.4\bin\x86_64-win64\fpc.exe -MObjFPC -Scghi -O1 -g -gl -l -vewnhibq -Filib\x86_64-win64 -Fu.. -Fu. -FUlib\x86_64-win64 -FE. -otest1library.exe test1library.pas

(eventually you need to create subdirectory lib\x86_64-win64 by hand)

Upon execution, I got this results:

:\03_travail\libusb\pas-libusb\src\examples>test1library.exe
Using libusb(x) v1.0.22.11312
Found 13 devices:
  Bus   1 Device  15: ID 10C4:EA60,  port:  14, port path from HCD: 0, Speed: 12 Mbit/s (USB FullSpeed)
  Bus   1 Device  12: ID 28DE:2101,  port:   7, port path from HCD: 0->11->11, Speed: 12 Mbit/s (USB FullSpeed)
  Bus   1 Device   0: ID 8086:A2AF,  port:   0, Speed: Unknown
  Bus   1 Device  10: ID 0BB4:2C87,  port:   5, port path from HCD: 0->5->5, Speed: 12 Mbit/s (USB FullSpeed)
  Bus   1 Device   9: ID 0BB4:2C87,  port:   2, port path from HCD: 0->0->0, Speed: 480 Mbit/s (USB HighSpeed)
  Bus   1 Device   4: ID 1C4F:0002,  port:   7, port path from HCD: 0, Speed: 1.5 Mbit/s (USB LowSpeed)
  Bus   1 Device   2: ID 046D:C077,  port:   8, port path from HCD: 0, Speed: 1.5 Mbit/s (USB LowSpeed)
  Bus   1 Device   8: ID 28DE:2000,  port:   1, port path from HCD: 0->1->1, Speed: 12 Mbit/s (USB FullSpeed)
  Bus   1 Device   7: ID 0BB4:0306,  port:   2, port path from HCD: 0->33, Speed: 12 Mbit/s (USB FullSpeed)
  Bus   1 Device  11: ID 28DE:2101,  port:   6, port path from HCD: 0->128->128, Speed: 12 Mbit/s (USB FullSpeed)
  Bus   1 Device   5: ID 07CA:A110,  port:   5, port path from HCD: 0, Speed: 480 Mbit/s (USB HighSpeed)
  Bus   1 Device   6: ID 0BB4:2134,  port:   1, port path from HCD: 0->0, Speed: 480 Mbit/s (USB HighSpeed)
  Bus   1 Device   1: ID 0BB4:2210,  port:  11, port path from HCD: 0, Speed: 480 Mbit/s (USB HighSpeed)

E:\03_travail\libusb\pas-libusb\src\examples>

 src/libusboop.pas | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/libusboop.pas b/src/libusboop.pas
index 6171c22..f8ab4ea 100644
--- a/src/libusboop.pas
+++ b/src/libusboop.pas
@@ -19,7 +19,8 @@ Unit LibUsbOop;
 
 {$macro on}
 {$ifdef windows}
-  {$define extdecl:=stdcall}
+  //{$define extdecl:=stdcall}
+  {$define extdecl:=cdecl}
 {$else}
   {$define extdecl:=cdecl}
 {$endif}
 src/libusb.pas | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/libusb.pas b/src/libusb.pas
index 3210331..f1fa053 100644
--- a/src/libusb.pas
+++ b/src/libusb.pas
@@ -43,7 +43,8 @@ Unit LibUsb;
 
 {$macro on}
 {$ifdef windows}
-  {$define extdecl:=stdcall}
+  //{$define extdecl:=stdcall}
+  {$define extdecl:=cdecl}
 {$else}
   {$define extdecl:=cdecl}
 {$endif}
@@ -52,8 +53,8 @@ Interface
 
 Uses CTypes;
 
-{$LINKLIB c}
-{$LINKLIB usb-1.0}
+//{$LINKLIB c}
+{$LINKLIB libusb-1.0.dll}
 
 (*
   Automatically converted by H2Pas 1.0.0 from libusb.h
 src/examples/test1library.lpi | 86 +++++++++++++++++++++----------------------
 1 file changed, 41 insertions(+), 45 deletions(-)

diff --git a/src/examples/test1library.lpi b/src/examples/test1library.lpi
index 8de3135..95eb0b3 100644
--- a/src/examples/test1library.lpi
+++ b/src/examples/test1library.lpi
@@ -1,7 +1,7 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
   <ProjectOptions>
-    <Version Value="9"/>
+    <Version Value="11"/>
     <General>
       <Flags>
         <MainUnitHasCreateFormStatements Value="False"/>
@@ -10,39 +10,35 @@
       <MainUnit Value="0"/>
       <ResourceType Value="res"/>
       <UseXPManifest Value="True"/>
-      <Icon Value="0"/>
-      <ActiveWindowIndexAtStart Value="0"/>
     </General>
     <i18n>
       <EnableI18N LFM="False"/>
     </i18n>
-    <VersionInfo>
-      <StringTable ProductVersion=""/>
-    </VersionInfo>
     <BuildModes Count="1" Active="Default">
       <Item1 Name="Default" Default="True"/>
     </BuildModes>
     <PublishOptions>
       <Version Value="2"/>
-      <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
-      <ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
     </PublishOptions>
     <RunParams>
       <local>
-        <FormatVersion Value="1"/>
         <LaunchingApplication PathPlusParams="/usr/bin/rxvt-unicode -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
       </local>
+      <FormatVersion Value="2"/>
+      <Modes Count="1">
+        <Mode0 Name="default">
+          <local>
+            <LaunchingApplication PathPlusParams="/usr/bin/rxvt-unicode -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
+          </local>
+        </Mode0>
+      </Modes>
     </RunParams>
     <Units Count="3">
       <Unit0>
         <Filename Value="test1library.pas"/>
         <IsPartOfProject Value="True"/>
         <UnitName Value="Test1Library"/>
-        <IsVisibleTab Value="True"/>
-        <EditorIndex Value="0"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="1"/>
-        <CursorPos X="1" Y="6"/>
+        <CursorPos Y="6"/>
         <UsageCount Value="20"/>
         <Loaded Value="True"/>
       </Unit0>
@@ -50,55 +46,53 @@
         <Filename Value="../libusboop.pas"/>
         <UnitName Value="LibUsbOop"/>
         <EditorIndex Value="2"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="95"/>
-        <CursorPos X="33" Y="112"/>
+        <CursorPos X="5" Y="22"/>
         <UsageCount Value="10"/>
         <Loaded Value="True"/>
       </Unit1>
       <Unit2>
         <Filename Value="../libusb.pas"/>
         <UnitName Value="LibUsb"/>
+        <IsVisibleTab Value="True"/>
         <EditorIndex Value="1"/>
-        <WindowIndex Value="0"/>
-        <TopLine Value="495"/>
-        <CursorPos X="15" Y="509"/>
+        <TopLine Value="26"/>
+        <CursorPos X="39" Y="41"/>
         <UsageCount Value="10"/>
         <Loaded Value="True"/>
       </Unit2>
     </Units>
-    <JumpHistory Count="26" HistoryIndex="25">
+    <JumpHistory Count="28" HistoryIndex="27">
       <Position1>
         <Filename Value="test1library.pas"/>
-        <Caret Line="5" Column="16" TopLine="1"/>
+        <Caret Line="5" Column="16"/>
       </Position1>
       <Position2>
         <Filename Value="test1library.pas"/>
-        <Caret Line="14" Column="27" TopLine="1"/>
+        <Caret Line="14" Column="27"/>
       </Position2>
       <Position3>
         <Filename Value="../libusboop.pas"/>
-        <Caret Line="8" Column="25" TopLine="1"/>
+        <Caret Line="8" Column="25"/>
       </Position3>
       <Position4>
         <Filename Value="test1library.pas"/>
-        <Caret Line="21" Column="62" TopLine="1"/>
+        <Caret Line="21" Column="62"/>
       </Position4>
       <Position5>
         <Filename Value="test1library.pas"/>
-        <Caret Line="26" Column="11" TopLine="1"/>
+        <Caret Line="26" Column="11"/>
       </Position5>
       <Position6>
         <Filename Value="test1library.pas"/>
-        <Caret Line="9" Column="24" TopLine="1"/>
+        <Caret Line="9" Column="24"/>
       </Position6>
       <Position7>
         <Filename Value="test1library.pas"/>
-        <Caret Line="28" Column="49" TopLine="1"/>
+        <Caret Line="28" Column="49"/>
       </Position7>
       <Position8>
         <Filename Value="test1library.pas"/>
-        <Caret Line="29" Column="50" TopLine="1"/>
+        <Caret Line="29" Column="50"/>
       </Position8>
       <Position9>
         <Filename Value="../libusboop.pas"/>
@@ -106,27 +100,27 @@
       </Position9>
       <Position10>
         <Filename Value="../libusboop.pas"/>
-        <Caret Line="170" Column="1" TopLine="147"/>
+        <Caret Line="170" TopLine="147"/>
       </Position10>
       <Position11>
         <Filename Value="../libusboop.pas"/>
-        <Caret Line="14" Column="3" TopLine="1"/>
+        <Caret Line="14" Column="3"/>
       </Position11>
       <Position12>
         <Filename Value="test1library.pas"/>
-        <Caret Line="29" Column="50" TopLine="1"/>
+        <Caret Line="29" Column="50"/>
       </Position12>
       <Position13>
         <Filename Value="test1library.pas"/>
-        <Caret Line="34" Column="19" TopLine="1"/>
+        <Caret Line="34" Column="19"/>
       </Position13>
       <Position14>
         <Filename Value="test1library.pas"/>
-        <Caret Line="30" Column="30" TopLine="1"/>
+        <Caret Line="30" Column="30"/>
       </Position14>
       <Position15>
         <Filename Value="test1library.pas"/>
-        <Caret Line="29" Column="44" TopLine="1"/>
+        <Caret Line="29" Column="44"/>
       </Position15>
       <Position16>
         <Filename Value="test1library.pas"/>
@@ -138,7 +132,7 @@
       </Position17>
       <Position18>
         <Filename Value="test1library.pas"/>
-        <Caret Line="7" Column="18" TopLine="1"/>
+        <Caret Line="7" Column="18"/>
       </Position18>
       <Position19>
         <Filename Value="../libusboop.pas"/>
@@ -170,12 +164,20 @@
       </Position25>
       <Position26>
         <Filename Value="test1library.pas"/>
-        <Caret Line="61" Column="1" TopLine="14"/>
+        <Caret Line="61" TopLine="14"/>
       </Position26>
+      <Position27>
+        <Filename Value="../libusb.pas"/>
+        <Caret Line="509" Column="15" TopLine="495"/>
+      </Position27>
+      <Position28>
+        <Filename Value="../libusboop.pas"/>
+        <Caret Line="112" Column="33" TopLine="95"/>
+      </Position28>
     </JumpHistory>
   </ProjectOptions>
   <CompilerOptions>
-    <Version Value="9"/>
+    <Version Value="11"/>
     <Target>
       <Filename Value="test1library"/>
     </Target>
@@ -184,12 +186,6 @@
       <OtherUnitFiles Value=".."/>
       <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
     </SearchPaths>
-    <Other>
-      <CompilerMessages>
-        <UseMsgFile Value="True"/>
-      </CompilerMessages>
-      <CompilerPath Value="$(CompPath)"/>
-    </Other>
   </CompilerOptions>
   <Debugging>
     <Exceptions Count="3">
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to