Got this following error, if I tried to replace original VisionProxy.dll with the one built by me in VisualStudio 2010.

Asked by Sai Nikhil

Hi RaiMan,

I successfully built VisualProxy.dll in Visual Studio 2010, taking care of required dependencies. When I built my sikuli-ide.jar and tried to run this, I get the following error caught in debug file. Any ideas on why this might've happened ?

[debug] Running on Java 7 (1.7.0_25-b17)
[debug] --- Sikuli parameters ---
[debug] 1: -d
[debug] 2: 3
[debug] 3: -f
[debug] init user preferences
[debug] locale: en_US
[debug] ResourceLoaderBasic: SikuliX Package Build: 1.0.1 17SEP2013141312
[debug] ResourceLoaderBasic: check: we are running on arch: x86
[debug] ResourceLoaderBasic: check: using Java at: C:/Program Files/Java/jre7/
[debug] ResourceLoaderBasic: check: Exists libs folder at location of jar? YES: F:/sikuli/SikuliX-IDE/target/
[debug] ResourceLoaderBasic: checkLibsDir: F:/sikuli/SikuliX-IDE/target/libs
[debug] ResourceLoaderBasic: loadLib: WinUtil
[debug] ResourceLoaderBasic: loadLib: Found: WinUtil
[debug] ResourceLoaderBasic: loadLib: Now loaded: WinUtil
[debug] ResourceLoaderBasic: checkLibsDir: Using libs at: F:\sikuli\SikuliX-IDE\target\libs
[debug] ResourceLoaderBasic: check: Using this as OCR directory (tessdata) too
[debug] Screen: initScreens: basic initialization (1 Screen(s) found)
[debug] *** monitor configuration (primary: 0) ***
[debug] Screen 0: S(0)[0,0 1366x768]
[debug] *** end monitor configuration ***
[error] Location: outside any screen (-4, -4) - subsequent actions might not work as expected
[debug] [I18N] menuShowThumbs
[debug] SikuliX Jython Support Build: 1.0.1 12SEP2013153215
[debug] EditorConsolePane: init: stdout/stderr redirected to console
[debug] Sikuli-IDE startup: 1349
[debug] Screen.capture: java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] RobotDesktop: captureScreen: on 0 using java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] CapturePrompt: Select an image
[debug] ScreenUnion: getIdFromPoint: (438, 134) as (438, 134) in (0, 0, 1366, 768) on 0
[debug] CapturePrompt: started at (438,134) as L(438,134) on 0
[debug] CapturePrompt: finished at (537,169) as L(537,169) on 0
[debug] FileManager: tempdir create: C:\Users\HP\AppData\Local\Temp\HP\tmp--458364954.sikuli
[debug] CapturePrompt.close: freeing resources
[debug] captureCompleted: C:/Users/HP/AppData/Local/Temp/HP/tmp--458364954.sikuli/1381685137094.png
[debug] if find( ):

[debug] FileManager: tempfile create: C:\Users\HP\AppData\Local\Temp\sikuli-8089685076105787482.png
[debug] Screen.capture: java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] RobotDesktop: captureScreen: on 0 using java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] CapturePrompt: Select an image
[debug] ScreenUnion: getIdFromPoint: (757, 571) as (757, 571) in (0, 0, 1366, 768) on 0
[debug] CapturePrompt: started at (757,571) as L(757,571) on 0
[debug] CapturePrompt: finished at (829,597) as L(829,597) on 0
[debug] CapturePrompt.close: freeing resources
[debug] captureCompleted: C:/Users/HP/AppData/Local/Temp/HP/tmp--458364954.sikuli/1381685153124.png
[debug] click( )

[debug] FileManager: tempfile create: C:\Users\HP\AppData\Local\Temp\sikuli-665886931377098075.png
[debug] FileManager: tempfile create: C:\Users\HP\AppData\Local\Temp\sikuli-1129755726975525837.py
[debug] JythonScriptRunner: : executeScriptHeader: adding SikuliX Lib path to sys.path
F:\sikuli\SikuliX-IDE\target\sikuli-ide.jar\Lib
[debug] Jython: sikuli: __init__: entering
[debug] Jython: sikuli: Sikuli: entering
[debug] Jython: sikuli: Sikuli: constants
[debug] Jython: sikuli: Sikuli: import Region
[debug] Jython: sikuli: Sikuli: import Screen
[debug] Jython: sikuli: Sikuli: Env.addHotkey
[debug] Jython: sikuli: Sikuli: import Match
[debug] Jython: sikuli: Sikuli: import Pattern
[debug] Jython: sikuli: Sikuli: import Location
[debug] Jython: sikuli: Sikuli: import ScreenUnion
[debug] Jython: sikuli: Sikuli: import Finder
[debug] ResourceLoaderBasic: loadLib: VisionProxy
[debug] ResourceLoaderBasic: loadLib: Found: VisionProxy
[error] ResourceLoaderBasic: loadLib: Fatal Error 110: loading: VisionProxy.dll
[error] ResourceLoaderBasic: loadLib: Since native library was found, it might be a problem with needed dependent libraries
F:\sikuli\SikuliX-IDE\target\libs\VisionProxy.dll: Can't find dependent libraries
[error] ResourceLoaderBasic: loadLib: Check, wether a valid Sikuli libs folder is in system path at runtime!
[error] Terminating SikuliX after a fatal error(110)! Sorry, but it makes no sense to continue!
If you do not have any idea about the error cause or solution, run again
with a Debug level of 3. You might paste the output to the Q&A board.
[debug] SikuliXFinal: cleanUp: 0

Question information

Language:
English Edit question
Status:
Answered
For:
SikuliX Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
RaiMan (raimund-hocke) said :
#1

Wow, that is really good news.

Is it a static library containing all dependencies?

The error you got means:
- a VisionProxy.dll was found in the used libs folder F:\sikuli\SikuliX-IDE\target\libs (hope, it is yours ;-)
- when Java tries to load this dll, one or more dependent libraries are needed, that cannot be found on system path

You have to check with some dependency walker tool, what libs are missing.

If you linked it dynamic, you have to take care, that the correct versions of the dependent dlls are available.
The libs coming with the Sikuli bundle should not be useable for you, since they are built in a MinGW environment.

Revision history for this message
Sai Nikhil (saint1729) said :
#2

Hi RaiMan,

Some improvement :)
After adding the required dependencies and if I tried to run sikuli-ide.jar, I now get the following error:

[debug] Running on Java 7 (1.7.0_25-b17)
[debug] --- Sikuli parameters ---
[debug] 1: -d
[debug] 2: 3
[debug] 3: -f
[debug] 4: dummy
[debug] init user preferences
[debug] locale: en_US
[debug] ResourceLoaderBasic: SikuliX Package Build: 1.0.1 17SEP2013141312
[debug] ResourceLoaderBasic: check: we are running on arch: x86
[debug] ResourceLoaderBasic: check: using Java at: C:/Program Files/Java/jre7/
[debug] ResourceLoaderBasic: check: Exists libs folder at location of jar? YES: F:/sikuli/SikuliX-IDE/target/
[debug] ResourceLoaderBasic: checkLibsDir: F:/sikuli/SikuliX-IDE/target/libs
[debug] ResourceLoaderBasic: loadLib: WinUtil
[debug] ResourceLoaderBasic: loadLib: Found: WinUtil
[debug] ResourceLoaderBasic: loadLib: Now loaded: WinUtil
[debug] ResourceLoaderBasic: checkLibsDir: Using libs at: F:\sikuli\SikuliX-IDE\target\libs
[debug] ResourceLoaderBasic: check: Using this as OCR directory (tessdata) too
[debug] Screen: initScreens: basic initialization (1 Screen(s) found)
[debug] *** monitor configuration (primary: 0) ***
[debug] Screen 0: S(0)[0,0 1366x768]
[debug] *** end monitor configuration ***
[error] Location: outside any screen (-4, -4) - subsequent actions might not work as expected
[debug] [I18N] menuShowThumbs
[debug] SikuliX Jython Support Build: 1.0.1 12SEP2013153215
[debug] EditorConsolePane: init: stdout/stderr redirected to console
[debug] Sikuli-IDE startup: 6790
[debug] Screen.capture: java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] RobotDesktop: captureScreen: on 0 using java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] CapturePrompt: Select an image
[debug] ScreenUnion: getIdFromPoint: (380, 312) as (380, 312) in (0, 0, 1366, 768) on 0
[debug] CapturePrompt: started at (380,312) as L(380,312) on 0
[debug] CapturePrompt: finished at (445,395) as L(445,395) on 0
[debug] FileManager: tempdir create: C:\Users\HP\AppData\Local\Temp\HP\tmp-1259027149.sikuli
[debug] CapturePrompt.close: freeing resources
[debug] captureCompleted: C:/Users/HP/AppData/Local/Temp/HP/tmp-1259027149.sikuli/1381756530690.png
[debug] if find( ):

[debug] FileManager: tempfile create: C:\Users\HP\AppData\Local\Temp\sikuli-3855952684264525220.png
[debug] Screen.capture: java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] RobotDesktop: captureScreen: on 0 using java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] CapturePrompt: Select an image
[debug] ScreenUnion: getIdFromPoint: (8, 431) as (8, 431) in (0, 0, 1366, 768) on 0
[debug] CapturePrompt: started at (8,431) as L(8,431) on 0
[debug] CapturePrompt: finished at (65,487) as L(65,487) on 0
[debug] CapturePrompt.close: freeing resources
[debug] captureCompleted: C:/Users/HP/AppData/Local/Temp/HP/tmp-1259027149.sikuli/1381756554573.png
[debug] rightClick( )

[debug] FileManager: tempfile create: C:\Users\HP\AppData\Local\Temp\sikuli-5025941236534238671.png
[debug] FileManager: tempdir delete: C:/Users/HP/AppData/Local/Temp/HP/tmp-1259027149.sikuli/
[debug] save to bundle: F:/sikuli/SikuliX-IDE/target/scripts.sikuli/
[debug] JythonScriptRunner: : : Convert Sikuli source code F:/sikuli/SikuliX-IDE/target/scripts.sikuli/ to HTML
[debug] JythonScriptRunner: : : Clear source bundle F:/sikuli/SikuliX-IDE/target/scripts.sikuli/
[debug] FileManager: tempfile create: C:\Users\HP\AppData\Local\Temp\sikuli-4138699640471890897.py
[debug] SikuliEditorKit.read
[debug] ImageLocator: found 1381756530690.png in F:/sikuli/SikuliX-IDE/target/scripts.sikuli/
[debug] FileManager: tempfile create: C:\Users\HP\AppData\Local\Temp\sikuli-7859092483465990246.png
[debug] ImageLocator: found 1381756554573.png in F:/sikuli/SikuliX-IDE/target/scripts.sikuli/
[debug] FileManager: tempfile create: C:\Users\HP\AppData\Local\Temp\sikuli-6179485057749464656.png
[debug] FileManager: tempfile create: C:\Users\HP\AppData\Local\Temp\sikuli-8834453245821774824.py
[debug] JythonScriptRunner: : executeScriptHeader: adding SikuliX Lib path to sys.path
F:\sikuli\SikuliX-IDE\target\sikuli-ide.jar\Lib
[debug] Jython: sikuli: __init__: entering
[debug] Jython: sikuli: Sikuli: entering
[debug] Jython: sikuli: Sikuli: constants
[debug] Jython: sikuli: Sikuli: import Region
[debug] Jython: sikuli: Sikuli: import Screen
[debug] Jython: sikuli: Sikuli: Env.addHotkey
[debug] Jython: sikuli: Sikuli: import Match
[debug] Jython: sikuli: Sikuli: import Pattern
[debug] Jython: sikuli: Sikuli: import Location
[debug] Jython: sikuli: Sikuli: import ScreenUnion
[debug] Jython: sikuli: Sikuli: import Finder
[debug] ResourceLoaderBasic: loadLib: VisionProxy
[debug] ResourceLoaderBasic: loadLib: Found: VisionProxy
[debug] ResourceLoaderBasic: loadLib: Now loaded: VisionProxy
[debug] Jython: sikuli: Sikuli: import App
[debug] ResourceLoaderBasic: loadLib: Is already loaded: WinUtil
[debug] Jython: sikuli: Sikuli: import Key
[debug] Jython: sikuli: Sikuli: import from Basics
[debug] Jython: sikuli: Sikuli: import from compare
[debug] Jython: sikuli: Sikuli: init SikuliImporter
[debug] Jython: sikuli: Sikuli: import SikuliScript
[debug] Jython: init SCREEN as ()
[debug] Sikuli-IDE environment setup: 2619
[debug] waiting for 1381756530690.png to appear
[debug] Screen.capture: java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] RobotDesktop: captureScreen: on 0 using java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] ImageLocator: found 1381756530690.png in F:/sikuli/SikuliX-IDE/target/scripts.sikuli/
[debug] Screen.capture: java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] RobotDesktop: captureScreen: on 0 using java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] Screen.capture: java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] RobotDesktop: captureScreen: on 0 using java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] Screen.capture: java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] RobotDesktop: captureScreen: on 0 using java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] Screen.capture: java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] RobotDesktop: captureScreen: on 0 using java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] Screen.capture: java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] RobotDesktop: captureScreen: on 0 using java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] Screen.capture: java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] RobotDesktop: captureScreen: on 0 using java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] Screen.capture: java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] RobotDesktop: captureScreen: on 0 using java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] Screen.capture: java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] RobotDesktop: captureScreen: on 0 using java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] 1381756530690.png has not appeared.
[error] script [ scripts ] stopped with error in line 1
[error] FindFailed ( can not find 1381756530690.png on the screen. )
[debug] SikuliXFinal: cleanUp: 0

So, Sikuli-IDE is now able to generate and run the sikuli script. But the temporary image in the temp folder are not renamed and so, it cannot find the images on the screen. Which part of code could be causing this ?

Revision history for this message
RaiMan (raimund-hocke) said :
#3

ok, fine. IDE works.

--- But the temporary image in the temp folder are not renamed and so, it cannot find the images on the screen.
Not really clear, what you mean.
The script handling (exporting the script from the editor panel to a temp .sikuli, which is needed to feed the script to the Jython interpreter, and running it) does not have anything to do with the native stuff. that is all handled completely on the Java level.

To check, you might use
runIDE.cmd -r some_saved_script.sikuli
which uses the stored .py file directly (no temp used in this case)

So are you really sure, that the image is visible on the screen at runtime?

I suppose, you are still working with the stuff from github branch master !?

Revision history for this message
Sai Nikhil (saint1729) said :
#4

Hi RaiMan,

Yes, I can see the image on the screen.

Yes, I'm working with the stuff from github master branch.

After I ran above command (ie., runIDE.cmd -r some_saved_script.sikuli), I get this following error:

F:\sikuli\SikuliX-IDE\target>runIDE.cmd -r scripts.sikuli
+++ running this Java
java version "1.6.0_43"
Java(TM) SE Runtime Environment (build 1.6.0_43-b01)
Java HotSpot(TM) Client VM (build 20.14-b01, mixed mode, sharing)
+++ trying to start Sikuli IDE
+++ using: -Xms64M -Xmx512M -Dfile.encoding=UTF-8 -Dsikuli.FromCommandLine -jar
F:\sikuli\SikuliX-IDE\target\sikuli-ide.jar -r scripts.sikuli
[error] script stopped with error in line 1
[error] FindFailed ( can not find 1381756530690.png on the screen. )

does it mean something is wrong at native level (I mean the "find" function)?

I shared the sample script I tried on my machine with you on dropbox for this (<email address hidden>) email id.
Please try running it on your machine. (https://www.dropbox.com/s/4hxght66099jlf0/scripts.sikuli.rar)
I have one more doubt. How is this nomenclature of images going on? I see random names for images (templates) in my script, which is fine. But, the main screen, i.e., the target also has a random name. How, will it know which is target and which is template to do matching?

Revision history for this message
RaiMan (raimund-hocke) said :
#5

yes seems to be some problem towards native level. (works on my system with regular 1.0.1)

So i come back to my recommendation: make a tiny test program in C++ to test and debug the functions of VisionProxy.dll (see below about the principal structure)
highgui of openCV has some high-level functions to read and write image files and create CV::Mat from them.

- I have one more doubt.
The image handling towards native level is done in class Finder, that feeds the FindInput in vision.cpp
- the screen capture goes to source (the image to search in)
- the image to search goes to target
both are converted to CV::Mat at different places

finder.cpp is the topmost level for the find operation and returns the results in find_results.

currently we have some mix in the sense, that target images might be read from the image file in vision.cpp.

Beginning with version 1.1 all images will only be given to the native level as CV::Mat (which will make the use of cv_highgui obsolete), since images will be cached in memory.

Revision history for this message
Sai Nikhil (saint1729) said :
#6

Hi RaiMan,

Here's a new error:

[debug] Running on Java 7 (1.7.0_25-b17)
[debug] --- Sikuli parameters ---
[debug] 1: -d
[debug] 2: 3
[debug] 3: -f
[debug] 4: debug.txt
[debug] init user preferences
[debug] locale: en_US
[debug] ResourceLoaderBasic: SikuliX Package Build: 1.0.1 17SEP2013141312
[debug] ResourceLoaderBasic: check: we are running on arch: x86
[debug] ResourceLoaderBasic: check: using Java at: C:/Program Files/Java/jre7/
[debug] ResourceLoaderBasic: check: Exists libs folder at location of jar? YES: F:/sikuli/SikuliX-IDE/target/
[debug] ResourceLoaderBasic: checkLibsDir: F:/sikuli/SikuliX-IDE/target/libs
[debug] ResourceLoaderBasic: checkLibsDir: F:\sikuli\SikuliX-IDE\target\libs true MadeForSikuliX32W.txt
[debug] ResourceLoaderBasic: loadLib: WinUtil
[debug] ResourceLoaderBasic: loadLib: Found: WinUtil
[debug] ResourceLoaderBasic: loadLib: Now loaded: WinUtil
[debug] ResourceLoaderBasic: checkLibsDir: Using libs at: F:\sikuli\SikuliX-IDE\target\libs
[debug] ResourceLoaderBasic: check: Using this as OCR directory (tessdata) too
[debug] Screen: initScreens: basic initialization (1 Screen(s) found)
[debug] *** monitor configuration (primary: 0) ***
[debug] Screen 0: S(0)[0,0 1366x768]
[debug] *** end monitor configuration ***
[error] Location: outside any screen (-4, -4) - subsequent actions might not work as expected
[debug] [I18N] menuShowThumbs
[debug] SikuliX Jython Support Build: 1.0.1 12SEP2013153215
[debug] EditorConsolePane: init: stdout/stderr redirected to console
[debug] Sikuli-IDE startup: 3061
[debug] Screen.capture: java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] RobotDesktop: captureScreen: on 0 using java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] CapturePrompt: Select an image
[debug] ScreenUnion: getIdFromPoint: (174, 93) as (174, 93) in (0, 0, 1366, 768) on 0
[debug] CapturePrompt: started at (174,93) as L(174,93) on 0
[debug] CapturePrompt: finished at (250,169) as L(250,169) on 0
[debug] FileManager: tempdir create: C:\Users\HP\AppData\Local\Temp\HP\tmp--1405238875.sikuli
[debug] CapturePrompt.close: freeing resources
[debug] captureCompleted: C:/Users/HP/AppData/Local/Temp/HP/tmp--1405238875.sikuli/1382116547976.png
[debug] if find( ):

[debug] FileManager: tempfile create: C:\Users\HP\AppData\Local\Temp\sikuli-7548100710744833383.png
[debug] Screen.capture: java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] RobotDesktop: captureScreen: on 0 using java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] CapturePrompt: Select an image
[debug] ScreenUnion: getIdFromPoint: (1347, 0) as (1347, 0) in (0, 0, 1366, 768) on 0
[debug] CapturePrompt: started at (1347,0) as L(1347,0) on 0
[debug] CapturePrompt: finished at (1363,16) as L(1363,16) on 0
[debug] CapturePrompt.close: freeing resources
[debug] captureCompleted: C:/Users/HP/AppData/Local/Temp/HP/tmp--1405238875.sikuli/1382116554844.png
[debug] click( )

[debug] FileManager: tempfile create: C:\Users\HP\AppData\Local\Temp\sikuli-8228730994794417213.png
[debug] FileManager: tempfile create: C:\Users\HP\AppData\Local\Temp\sikuli-8823197372218518164.py
[debug] JythonScriptRunner: : executeScriptHeader: adding SikuliX Lib path to sys.path
F:\sikuli\SikuliX-IDE\target\sikuli-ide.jar\Lib
[debug] Jython: sikuli: __init__: entering
[debug] Jython: sikuli: Sikuli: entering
[debug] Jython: sikuli: Sikuli: constants
[debug] Jython: sikuli: Sikuli: import Region
[debug] Jython: sikuli: Sikuli: import Screen
[debug] Jython: sikuli: Sikuli: Env.addHotkey
[debug] Jython: sikuli: Sikuli: import Match
[debug] Jython: sikuli: Sikuli: import Pattern
[debug] Jython: sikuli: Sikuli: import Location
[debug] Jython: sikuli: Sikuli: import ScreenUnion
[debug] Jython: sikuli: Sikuli: import Finder
[debug] ResourceLoaderBasic: loadLib: VisionProxy
[debug] ResourceLoaderBasic: loadLib: Found: VisionProxy
[debug] ResourceLoaderBasic: loadLib: Now loaded: VisionProxy
[debug] Jython: sikuli: Sikuli: import App
[debug] ResourceLoaderBasic: loadLib: Is already loaded: WinUtil
[debug] Jython: sikuli: Sikuli: import Key
[debug] Jython: sikuli: Sikuli: import from Basics
[debug] Jython: sikuli: Sikuli: import from compare
[debug] Jython: sikuli: Sikuli: init SikuliImporter
[debug] Jython: sikuli: Sikuli: import SikuliScript
[debug] Jython: init SCREEN as ()
[debug] Sikuli-IDE environment setup: 3494
[debug] waiting for 1382116547976.png to appear
[debug] Screen.capture: java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[debug] RobotDesktop: captureScreen: on 0 using java.awt.Rectangle[x=0,y=0,width=1366,height=768]
[error] script [ *Untitled ] stopped with error in line 1
[error] java.lang.UnsatisfiedLinkError ( java.lang.UnsatisfiedLinkError: org.sikuli.basics.proxies.VisionProxyJNI.new_FindInput__SWIG_0()J )
[debug] SikuliXFinal: cleanUp: 0

any ideas what might be the reason for this ?

Revision history for this message
Sai Nikhil (saint1729) said :
#7

Hi RaiMan,

Please clarify these important doubts of mine:

My osarch is win32. I found the following libraries in windows\libs32 folder:

JIntellitype.dll
libgcc_s_dw2-1.dll
libjpeg-9.dll
liblept-2.dll
libopencv_core244.dll
libopencv_highgui244.dll
libopencv_imgproc244.dll
libpng15-15.dll
libstdc++-6.dll
libtesseract-3.dll
VisionProxy.dll
WinUtil.dll
zlib1.dll

For visionproxy we need openCV libs and so these three (i.e., libopencv_core244.dll, libopencv_highgui244.dll, libopencv_imgproc244.dll) which is fine. For handling text we need libtesseract-3.dll, which is also fine.

Since libtesseract-3.dll is dependent on liblept-2.dll it must also be included, which is also fine.

Since liblept-2.dll is dependent on libpng15-15.dll, libjpeg-9.dll they are also included. But as far as I know, libjpeg even depends upon, libgif too. Can you please tell me why is it not included here ? or in other words how did you remove this dependency of libgif with liblept-2.dll ?

Since, libpng15-15.dll and libjpeg-9.dll depend upon zlib1.dll it is included, which is fine.

Can you please tell me what is the use of these following libraries ?

JIntellitype.dll
libgcc_s_dw2-1.dll
libstdc++-6.dll
WinUtil.dll

How to produce them and link them to what ?

Revision history for this message
RaiMan (raimund-hocke) said :
#8

--- at comment #7
As already mentioned: I used MinGW to produce the libs.

libgcc_s_dw2-1.dll
libstdc++-6.dll
These are the runtime support to access the Windows API needed by MinGW built dlls.
You will have to include the respective MS VCxx runtime support.

I built everything from sources, so I made a liblept without gif support.
If you use a prebuilt liblept, you have to add what is needed.

JIntellitype.dll is from the respective Java package to support hotkeys.
WinUtil.dll is the interface to support system specific things mostly for the App feature.

Since you want to concentrate on the Vision stuff: just use them as is (not relevant for VisionProxy)

--at comment #6:
- did you fix it?
seems that your build procedure does not yet produce a useable VisionProxy at the moment.
VisionProxyJNI.new_FindInput__SWIG_0()J is an entry expected in VisionProxy.dll

The SWIG generated file org.sikuli.basics.proxies.VisionProxyJNI.java has all signatures for the JNI entry points expected in VisionProxy.dll
The SWIG generated native counterpart is visionJAVA_wrap.cxx

as already mentioned, you might check your dlls with a dependency walker.

Can you help with this problem?

Provide an answer of your own, or ask Sai Nikhil for more information if necessary.

To post a message you must log in.