Sikuli UnsatisfiedLinkError when using sikuli-script.jar

∥☆過路亽.° 提交于 2019-11-28 10:04:13

问题


I'm on Windows 7 32bit, Java JRE6 31 installed and using Sikuli X 1.0rc3. I want to launch a test with 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 environment variables needed, 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 launch the tests there etc. But only if I use the Sikuli-IDE.exe the sikuli-ide.bat and sikuli-ide.jar don't work either. Always with the same error from above. So I think in the build process of the .exe file they added some magic, but I can't figure out what it is.

Does somebody 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 the Sikuli-IDE.exe out of the sikuli-ide.jar. They use this config file. I modified it slightly and created a Sikuli-script.exe. It was pretty simple but I lost the config file unfortunately.

Hope I could help!


回答1:


  1. You must use a 32bit JRE version (I use jre-7u4-windows-i586.exe)
  2. Download Sikuli IDE for Windows (I use "Sikuli X r930", portable version)
  3. Unpack it and copy files to your project folder (I renamed it to "sikuli-ide", check image htt+p://i.stack.imgur.com/LSiQV.png)
  4. Add sikuli-script.jar to the Referenced Libraries (Project > Properties > Java Build Path > Libraries, check image http://i.stack.imgur.com/N2SJ8.png)
  5. Set PATH and SIKULI_HOME environment vars (Run > Run Configurations > Environment, check image http://i.stack.imgur.com/HboXk.png)
  6. You're ready to go ;)



回答2:


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.



来源:https://stackoverflow.com/questions/9668552/sikuli-unsatisfiedlinkerror-when-using-sikuli-script-jar

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!