How to build Image Launcher on Windows

I am trying to build the Image Launcher on Windows 10 and Java 1.8.0_92. Are there any instructions how to actually do it? Any specific setup required?

I tried with cygwin and separately with msys2 using a command

mvn install

It fails during compilation of the native binaries. Here is an example with msys2:

[ERROR] In file included from D:\src\imagej-launcher\src\main\include/config.h:34:0,
[ERROR]                  from D:\src\imagej-launcher\src\main\c\config.c:32:
[ERROR] In file included from C:\Apps\jdk1.8.0_92-x64/include/jni.h:45:0,
[WARNING] D:\src\imagej-launcher\src\main\include/string-funcs.h:67:19: warning: inline function 'is_digit' declared but never defined
[ERROR] D:\src\imagej-launcher\src\main\c\file-funcs.c: In function 'find_jar':
[ERROR]                  from D:\src\imagej-launcher\src\main\c\ImageJ.c:68:
[ERROR] In file included from D:\src\imagej-launcher\src\main\include/file-funcs.h:34:0,
[ERROR] D:\src\imagej-launcher\src\main\c\platform.c: In function 'get_memory_size':
[ERROR] D:\src\imagej-launcher\src\main\c\splash.c: In function 'show_splash':
[WARNING] D:\src\imagej-launcher\src\main\c\file-funcs.c:379:7: warning: implicit declaration of function 'isdigit' [-Wimplicit-function-declaration]
[ERROR] In file included from D:\src\imagej-launcher\src\main\include/file-funcs.h:34:0,
[ERROR]  extern inline int is_digit(char c);
[ERROR]                    ^
[ERROR]                  from D:\src\imagej-launcher\src\main\c\java.c:33:
[ERROR]       !isdigit(name[prefix_length + 1]) ||

For anyone else reading this thread: @jpsacha also opened an issue on GitHub: https://github.com/imagej/imagej-launcher/issues/43

Sorry, we have never built the Launcher on Windows 10 here at LOCI. We have traditionally built it on a Windows 7 box using (IIRC) MinGW. Unfortunately, that box (actually a VM) is currently offline due to the recent server shakeup, and will probably not be back for a couple of weeks, so I cannot check.

Please note that we are planning to retire the ImageJ Launcher in favor of the JavaFX native launcher, as soon as we find enough spare time to take care of the many loose ends and edge cases involved with such a transition.

I have added instructions to the issue.

2 Likes