<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;}
p.moz-quote-pre, li.moz-quote-pre, div.moz-quote-pre
        {mso-style-name:moz-quote-pre;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle22
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body bgcolor=white lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='color:windowtext'>I’m trying to avoid using Lazarus because the last few times I tried to compile the rest of my project with it, I had all kinds of issues.  I can’t remember what all the problems were but it was significant enough for me to stick with the FPC blue screen text mode IDE, and that has been working fine.  I’m not sure if it’s because I have a lot of $Mode TP units mixed with FPC units, or if it’s that some of the Lazarus procedures and functions have the same name as other procedures and functions but don’t work the same way… I would have to just try it again to see what was up.    I may make another try with Lazarus, but I’m hoping to find a solution that works with just FPC, as I know for a fact the rest of my project has no problems with that.  <o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:windowtext'>I tried just replacing libusb-1.0.dll with the one </span>from libusb-1.0.22\MinGW32\dll from <a href="https://github.com/libusb/libusb/releases/download/v1.0.22/libusb-1.0.22.7z">https://github.com/libusb/libusb/releases/download/v1.0.22/libusb-1.0.22.7z</a> as suggested, but now I get this:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='color:windowtext'>I:\Programming\FPC\3.0.4\bin\i386-win32\fpc.exe -MObjFPC -Scghi -O1 -g -gl -l -vewnhibq -Filib\i386-win32\ -Fu.. -Fu. -FUlib\i386-win32\ -FE. -otest1library.exe test1library.pas<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:windowtext'>Hint: (11030) Start of reading config file I:\Programming\FPC\3.0.4\bin\i386-win32\fpc.cfg<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>Hint: (11031) End of reading config file I:\Programming\FPC\3.0.4\bin\i386-win32\fpc.cfg<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>Free Pascal Compiler version 3.0.4 [2017/10/06] for i386<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>Copyright (c) 1993-2017 by Florian Klaempfl and others<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>(1002) Target OS: Win32 for i386<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>(3104) Compiling test1library.pas<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>(3104) Compiling I:\Programming\pas-libusb_test_dll\src\libusb.pas<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>I:\Programming\pas-libusb_test_dll\src\libusb.pas(1315,13) Hint: (4035) Mixing signed expressions and longwords gives a 64bit result<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>I:\Programming\pas-libusb_test_dll\src\libusb.pas(1333,13) Hint: (4035) Mixing signed expressions and longwords gives a 64bit result<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>(3104) Compiling I:\Programming\pas-libusb_test_dll\src\libusboop.pas<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>I:\Programming\pas-libusb_test_dll\src\libusboop.pas(275,5) Warning: (3018) Constructor should be public<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>(3104) Compiling I:\Programming\pas-libusb_test_dll\src\paslibusbutils.pas<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>I:\Programming\pas-libusb_test_dll\src\paslibusbutils.pas(45,30) Hint: (4080) Converting the operands to "Int64" before doing the subtract could prevent overflow errors.<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>I:\Programming\pas-libusb_test_dll\src\paslibusbutils.pas(65,44) Hint: (5057) Local variable "PerfCount" does not seem to be initialized<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>I:\Programming\pas-libusb_test_dll\src\paslibusbutils.pas(70,45) Hint: (5058) Variable "PerfFreq" does not seem to be initialized<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>I:\Programming\pas-libusb_test_dll\src\libusboop.pas(545,11) Hint: (4055) Conversion between ordinals and pointers is not portable<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>I:\Programming\pas-libusb_test_dll\src\libusboop.pas(546,11) Hint: (4055) Conversion between ordinals and pointers is not portable<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>I:\Programming\pas-libusb_test_dll\src\libusboop.pas(564,72) Hint: (4055) Conversion between ordinals and pointers is not portable<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>I:\Programming\pas-libusb_test_dll\src\libusboop.pas(852,29) Hint: (5057) Local variable "Status" does not seem to be initialized<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>I:\Programming\pas-libusb_test_dll\src\libusboop.pas(922,18) Hint: (4055) Conversion between ordinals and pointers is not portable<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>I:\Programming\pas-libusb_test_dll\src\libusboop.pas(923,18) Hint: (4055) Conversion between ordinals and pointers is not portable<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>I:\Programming\pas-libusb_test_dll\src\libusboop.pas(937,45) Hint: (4055) Conversion between ordinals and pointers is not portable<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>I:\Programming\pas-libusb_test_dll\src\libusboop.pas(1046,24) Hint: (4055) Conversion between ordinals and pointers is not portable<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>I:\Programming\pas-libusb_test_dll\src\libusboop.pas(1059,43) Warning: (4056) Conversion between ordinals and pointers is not portable<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>(9015) Linking .\test1library.exe<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>Error: Import library not found for libusb-1.0<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>Fatal: (10026) There were 1 errors compiling module, stopping<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>Fatal: (1018) Compilation aborted<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'>Error: I:\Programming\FPC\3.0.4\bin\i386-win32\ppc386.exe returned an error exitcode<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:windowtext'>Not sure why it can’t find it now, I renamed libusb-1.0.dll and the new one is right under the one I renamed.<o:p></o:p></span></p><p class=MsoNormal><span style='color:windowtext'><o:p> </o:p></span></p><div><p class=MsoNormal><span style='color:windowtext'>James<o:p></o:p></span></p></div><p class=MsoNormal><span style='color:windowtext'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='color:windowtext'>From:</span></b><span style='color:windowtext'> fpc-pascal <fpc-pascal-bounces@lists.freepascal.org> <b>On Behalf Of </b>Jean SUZINEAU<br><b>Sent:</b> Tuesday, August 6, 2019 11:51 AM<br><b>To:</b> fpc-pascal@lists.freepascal.org<br><b>Subject:</b> Re: [fpc-pascal] USB Human Interface Devices<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Le 06/08/2019 à 17:18, James Richters a écrit :<o:p></o:p></p></div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Any ideas?  Is this just from using i386-win32? Maybe the DLL is only for 64bit? Maybe some completely unrelated issue?  If 64bit is needed, what’s the best way to install FPC3.0.4 for x86_64-win64?  It seems like I tried to do that before and it wasn’t really very easy to try to learn how to compile it.<o:p></o:p></p></blockquote><p>I'm going to have a look at that. Actually, it seems there's no package for fpc windows 64 bits.<o:p></o:p></p><p>The short answer would be to advise you to download and install lazarus ( <a href="https://www.lazarus-ide.org/">https://www.lazarus-ide.org/</a> ) from <a href="https://sourceforge.net/projects/lazarus/files/Lazarus%20Windows%2064%20bits/Lazarus%202.0.4/lazarus-2.0.4-fpc-3.0.4-win64.exe/download">https://sourceforge.net/projects/lazarus/files/Lazarus%20Windows%2064%20bits/Lazarus%202.0.4/lazarus-2.0.4-fpc-3.0.4-win64.exe/download</a><o:p></o:p></p><p>If you install it in C:\lazarus\, you'll end up with a 64 bits fpc in C:\lazarus\fpc\3.0.4\bin\x86_64-win64 . You can run it from command line as usual.<o:p></o:p></p><p>You can also try to replace the libusb-1.0.dll with the one from libusb-1.0.22\MinGW32\dll from <a href="https://github.com/libusb/libusb/releases/download/v1.0.22/libusb-1.0.22.7z">https://github.com/libusb/libusb/releases/download/v1.0.22/libusb-1.0.22.7z</a> .<o:p></o:p></p><p><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>