Launch4j: how to set paths correctly?

Anonymous
2013-01-14
2013-06-12

  • Anonymous
    2013-01-14

    I have launch4j configure for my project. I used it back, when i developed on windowsXP, where it worked. Now i need it to build on mac as well:

    My build.xml:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <project default="create-exe">

    <property name="platform" value="win32"/>
    <property name="launch4j.dir" location="${basedir}/tools/launch4j/" />

    <include file="create-jar.xml" as="sub"/>

    <target name="create-exe" depends = "sub.create-jar">
    <launch4j configFile="launch4j-config.xml" />
    <delete file="client.win32.jar"/>
    </target>

    <taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask">
    <classpath>
    <pathelement path="tools/launch4j/launch4j.jar"/>
    <pathelement path="tools/launch4j/lib/xstream.jar"/>
    </classpath>
    </taskdef>
    </project>

    I get the following output:

    create-exe:
      Compiling resources
      Generated resource file…
      LANGUAGE 0, 1
      2 RCDATA BEGIN "1.6.0\0" END
      18 RCDATA BEGIN "0\0" END
      25 RCDATA BEGIN "512\0" END
      27 RCDATA BEGIN "1024\0" END
      21 RCDATA BEGIN "http://java.com/download\0" END
      20 RCDATA BEGIN "32\0" END
      9 RCDATA BEGIN "true\0" END
      101 RCDATA BEGIN "An error occurred while starting the application.\0" END
      102 RCDATA BEGIN "This application was configured to use a bundled Java Runtime Environment but the runtime is missing or corrupted.\0" END
      103 RCDATA BEGIN "This application requires a Java Runtime Environment\0" END
      104 RCDATA BEGIN "The registry refers to a nonexistent Java Runtime Environment installation or the runtime is corrupted.\0" END
      17 RCDATA BEGIN "true\0" END

    BUILD FAILED
    /Users/fabian/dev/rsys-client/create-win32-exe.xml:9: net.sf.launch4j.BuilderException: net.sf.launch4j.ExecException: java.io.IOException: Cannot run program "./bin/windres": error=2, No such file or directory

    When i add `bindir="tools/launch4j/bin"` to the launch4j-execution, ld and windres are found, and the output changes to:

    create-exe:
      Compiling resources
      Linking
      /Users/fabian/dev/rsys-client/tools/launch4j/bin/ld: cannot find ./w32api/crt2.o: No such file or directory
      /Users/fabian/dev/rsys-client/tools/launch4j/bin/ld: cannot find ./head/guihead.o: No such file or directory
      /Users/fabian/dev/rsys-client/tools/launch4j/bin/ld: cannot find ./head/head.o: No such file or directory
      /Users/fabian/dev/rsys-client/tools/launch4j/bin/ld: cannot find ./w32api/libmingw32.a: No such file or directory
      /Users/fabian/dev/rsys-client/tools/launch4j/bin/ld: cannot find ./w32api/libgcc.a: No such file or directory
      /Users/fabian/dev/rsys-client/tools/launch4j/bin/ld: cannot find ./w32api/libmsvcrt.a: No such file or directory
      /Users/fabian/dev/rsys-client/tools/launch4j/bin/ld: cannot find ./w32api/libkernel32.a: No such file or directory
      /Users/fabian/dev/rsys-client/tools/launch4j/bin/ld: cannot find ./w32api/libuser32.a: No such file or directory
      /Users/fabian/dev/rsys-client/tools/launch4j/bin/ld: cannot find ./w32api/libadvapi32.a: No such file or directory
      /Users/fabian/dev/rsys-client/tools/launch4j/bin/ld: cannot find ./w32api/libshell32.a: No such file or directory

    BUILD FAILED
    /Users/fabian/dev/rsys-client/create-win32-exe.xml:9: net.sf.launch4j.BuilderException: net.sf.launch4j.ExecException: Exec failed (1): /Users/fabian/dev/rsys-client/tools/launch4j/bin/ld -mi386pe -oformat pei-i386 -dynamicbase -nxcompat -no-seh -subsystem windows -s ./w32api/crt2.o ./head/guihead.o ./head/head.o /var/folders/n5/44dkvyzd00z0h5mklk_pwtch0000gn/T/launch4j3026065429236284429o ./w32api/libmingw32.a ./w32api/libgcc.a ./w32api/libmsvcrt.a ./w32api/libkernel32.a ./w32api/libuser32.a ./w32api/libadvapi32.a ./w32api/libshell32.a -o /Users/fabian/dev/rsys-client/Kassa.exe

    Total time: 6 seconds