Skip to main content
Visitor II
May 10, 2023
Solved

Looking for Windows x64 ressources

  • May 10, 2023
  • 16 replies
  • 4617 views

Hello,

I'm trying to use the ST25 java SDK. The software_guide pdf document says I need to load in my IDE the natives libraries the SDK will need. It says I will find them in t \readers\st\resources, but in this folders there is only windows/x86 for the DLLs, and no windows/x64 as is mentionned in the document. And I can't use the 32bits version in my 64bits JVM. Am I missing something, or did the x64 folder was forgotten in the release ?

Extract from the pdf guide :


_legacyfs_online_stmicro_images_0693W00000bjndLQAQ.pngthe readers/st/resources/windows folder from the sdk :


_legacyfs_online_stmicro_images_0693W00000bjnhWQAQ.png

    This topic has been closed for replies.
    Best answer by NFC/RFID Customer support

    PC software for 64-bit windows platform is planned for end of year (PC software and streader dlls). Anyway we plan to start to update streader DLL for 64-bit in fews weeks. I suppose I will be able to share with you "draft" versions of streader dlls for 64-bit in few weeks.

    I think the best solution for your project, should be to work to put in place environment including SDK using 64-bit FEIG DLL. Then we will be able to share dlls for streader (draft version).

    NFC Customer support

    16 replies

    ST Employee
    May 10, 2023

    Hello,

    Thank you for reporting this error. There should indeed be a windows/x64 folder in the release package.

    Note that amongst the ST reference readers, only the CR95HF board is supported in 64-bit configuration as of today. For other readers, such as ST25R3911B/16, etc., you will need a 32-bit JVM.

    Please find attached the 64-bit dll files for Windows and the CR95HF board.

    This folder will be added in ST25SDK release 1.10.3.

    Best regards,

    Damien

    PBuro.1Author
    Visitor II
    May 11, 2023

    Thank you very much. Would you also be able to tell me why, now that I have loaded the right folder in my project, when I tried to instantiate a Reader with

    STReader reader = new STReader();

    I get the error

    Exception in thread "main" java.lang.UnsatisfiedLinkError: no streader in java.library.path: C:\Projets\JavaTest\TestSDK\ressources\windows\x64

    It used to say "hidapi" instead of "streader" before I found out I needed to add the resources folder

    ST Employee
    May 11, 2023

    Make sure you indicate the path to the reader library in your application's Java Build Path as shown below:


    _legacyfs_online_stmicro_images_0693W00000bjqq7QAA.png 

    As a reminder, the dll path should be indicated in the Source tab of the Java Build Path
    _legacyfs_online_stmicro_images_0693W00000bjqsmQAA.png

    PBuro.1Author
    Visitor II
    May 11, 2023

    I am using Intellij Idea, and not Eclipse, but I believe I set up both the dll folder and the jar folder right, but I still got that same error.


    _legacyfs_online_stmicro_images_0693W00000bjqwBQAQ.pngThe lib folder contains :
    _legacyfs_online_stmicro_images_0693W00000bjr6KQAQ.pngAnd the resources\windows\x64 contains the folder you sent earlier

    PBuro.1Author
    Visitor II
    May 11, 2023

    Could it be because I don't have an actual reader plugged in ? I don't have access to one right now

    PBuro.1Author
    Visitor II
    May 11, 2023

    I just noticed there is a streader.dll in the x86 folder, but not in the x64 folder. But of course I can't use it since it is for 32 bits plateform...

    ST Employee
    May 11, 2023

    The 64-bit version of streader is indeed missing :sad_but_relieved_face: And I don't have it ready on my hands. :tired_face:

    Do you plan to work with a CR95HF board? This is your only option for 64-bit application as of today.

    PBuro.1Author
    Visitor II
    May 11, 2023

    Well, I don't yet know what board I will have, I only wanted my options covered. I'll start with a 32bits JVM for now, and come back for the file if I need it.

    Thank you for for your time !

    ST Employee
    May 11, 2023

    You're welcome.

    Starting on 32-bit version is your safest best today. We would like to have 64-bit JVM supported one day but no date has been set in stone. Check the ST25 SDK page for updates!

    PBuro.1Author
    Visitor II
    May 12, 2023

    So I come back here with yet another problem.

    I managed to find and install a 32bit JDK (not that easy I'll add, because Oracle website doesn't propose a 32bits version of the last version. Working on 32bits will add a lot of trouble to my project, since I planned on using Jpype to create a Python wrapper of your SDK, and I will have to use a 32bits Python to do that.

    But for now, I am just testing things out on a test Java project, and I still can't get it to work. I still get an "UnsatisfiedLinkError" :

    Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Projets\JavaTest32bits\sdk32bits\resources\windows\x86\streader.dll: Can't find dependent libraries
    	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
    	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)
    	at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    	at java.lang.System.loadLibrary(System.java:1122)
    	at com.st.st25pc.model.readers.st.STReader.<init>(STReader.java:103)
    	at Main.main(Main.java:6)

    My code is literally just

    import com.st.st25pc.model.readers.st.STReader;
     
    public class Main {
     public static void main(String[] args) {
     
     STReader reader = new STReader();
     }
    }

    And this time, the streader.dll file does exit !

    ST Employee
    May 12, 2023

    Hello,

    in Eclipse we need to append the path to the resource folder to the path environment variable, such as shown in the picture below:


    _legacyfs_online_stmicro_images_0693W00000bjwwuQAA.pngMake sure your path is updated in your run environment as well.