Sikuli UnsatisfiedLinkError when using sikuli- script.jar

I am on Windows 7 32bit, Java JRE6 31 installed and using Sikuli X 1.0rc3. I want to run a test using sikuli- script.jar like this:

java -jar c:\sikuli\sikuli-script.jar test.sikuli

      

All I get is this error message:

java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError:C:\sikuli\libs\VisionProxy.dll: Can't find dependent libraries

      

I have set all the required environment variables, so my PATH looks like this:

PATH=...;C:\sikuli\libs;C:\Program Files\Java\jre6\bin
SIKULI_HOME=C:\sikuli

      

I can use the IDE and run tests there, etc. But only if I use Sikuli-IDE.exe

, sikuli-ide.bat

and sikuli-ide.jar

don't work either. Always with the same error from above. So I think they added some magic in the process of building the .exe file, but I can't figure out what it is.

Does anyone have a similar problem? Or even a solution?


Update

As I wrote below, it works out of the box with my new computer.: D But maybe my solution can help someone.

Sikuli Team uses Launch4J to build Sikuli-IDE.exe

from sikuli-ide.jar

. They use this config file. I modified it a bit and created Sikuli-script.exe

. It was pretty easy, but I lost my config file unfortunately.

Hope I can help!

+2


source to share


2 answers


  • You must be using the 32 bit version of the JRE (I am using jre-7u4-windows-i586.exe)
  • Download Sikuli IDE for Windows (I'm using "Sikuli X r930", portable version)
  • Unzip it and copy the files to your project folder (I renamed it to "sikuli-ide", check the image htt + p: //i.stack.imgur.com/LSiQV.png)
  • Add sikuli- script.jar to referenced libraries (Project> Properties> Java Build Path> Libraries, check image http://i.stack.imgur.com/N2SJ8.png )
  • Set the environment classes PATH and SIKULI_HOME (Run> Run Configurations> Environment, check the image http://i.stack.imgur.com/HboXk.png )
  • You are ready to go;)


+4


source


According to the docs

Thrown if the Java Virtual Machine cannot find an appropriate native-language definition of a method declared native.

What you need to do is use this command:



-Djava.library.path=pathToDLL

      

Which will add your DLL that is missing.

+3


source







All Articles