I get "terminated with exit code: 100" when following the "Your first Connect IQ app"

Hi - I've followed all the instructions so far and I'm getting the error above:

Here is the log:

 *  Executing task in folder 55watchface: C:\Program Files\Common Files\Oracle\Java\javapath\java.exe -Xms1g -Dfile.encoding=UTF-8 -Dapple.awt.UIElement=true -jar c:\Users\brain\AppData\Roaming\Garmin\ConnectIQ\Sdks\connectiq-sdk-win-4.1.5-2022-08-03-6e17bf167\bin\monkeybrains.jar -o bin\55watchface.prg -f c:\Users\brain\OneDrive\Desktop\Tech\Garmin Watch SDK\55\55watchface\monkey.jungle -y  -d fr55_sim -w 
 
 ERROR: Missing argument for option: y
org.apache.commons.cli.MissingArgumentException: Missing argument for option: y
        at org.apache.commons.cli.Parser.processArgs(Parser.java:363)
        at org.apache.commons.cli.Parser.processOption(Parser.java:395)
        at org.apache.commons.cli.Parser.parse(Parser.java:210)
        at org.apache.commons.cli.Parser.parse(Parser.java:88)
        at com.garmin.monkeybrains.Monkeybrains.run(Monkeybrains.java:2431)
        at com.garmin.monkeybrains.Monkeybrains.simpleMain(Monkeybrains.java:342)
        at com.garmin.monkeybrains.Monkeybrains.main(Monkeybrains.java:371)
usage: monkeyc [-a <arg>] [-b <arg>] [-c <arg>] [-d <arg>] [-e]
       [--Eno-invalid-symbol] [-f <arg>] [-g] [-h] [-i <arg>] [-k] [-l <arg>]
       [-m <arg>] [-o <arg>] [-p <arg>] [-r] [-s <arg>] [-t] [-u <arg>] [-v]
       [-w] [-x <arg>] [-y <arg>] [-z <arg>]
-a,--apidb <arg>       API import file
-b,--apimir <arg>      API MIR file
-c,--api-level <arg>   API Level to target
-d,--device <arg>      Target device
-e,--package-app       Create an application package.
   --Eno-invalid-symbolDo not error when a symbol is found to be invalid
-f,--jungles <arg>     Jungle files
-g,--debug             Print debug output
-h,--help              Prints help information
-i,--import-dbg <arg>  Import api.debug.xml
-k,--profile           Enable profiling support
-l,--typecheck <arg>   Type check [0=off, 1=gradual, 2=informative, 3=strict]
-m,--manifest <arg>    Manifest file (deprecated)
-o,--output <arg>      Output file to create
-p,--project-info <arg>projectInfo.xml file to use when compiling
-r,--release           Strip debug information
-s,--sdk-version <arg> SDK version to target (deprecated, use -c
-t,--unit-test         Enables compilation of unit tests
-u,--devices <arg>     devices.xml file to use when compiling (deprecated)
-v,--version           Prints the compiler version
-w,--warn              Show compiler warnings
-x,--excludes <arg>    Add annotations to the exclude list (deprecated)
-y,--private-key <arg> Private key to sign builds with
-z,--rez <arg>         Resource files (deprecated)

 *  The terminal process "C:\Program Files\Common Files\Oracle\Java\javapath\java.exe '-Xms1g', '-Dfile.encoding=UTF-8', '-Dapple.awt.UIElement=true', '-jar', 'c:\Users\brain\AppData\Roaming\Garmin\ConnectIQ\Sdks\connectiq-sdk-win-4.1.5-2022-08-03-6e17bf167\bin\monkeybrains.jar', '-o', 'bin\55watchface.prg', '-f', 'c:\Users\brain\OneDrive\Desktop\Tech\Garmin Watch SDK\55\55watchface\monkey.jungle', '-y', '', '-d', 'fr55_sim', '-w'" terminated with exit code: 100. 
 *  Terminal will be reused by tasks, press any key to close it.

Any tips please?

  • Fair enough, "this should do the trick as well" was a he, you don't need to recreate your project.

    You're right, my idea was just to give the simplest and most direct answer possible. In general, recreating your project is not the best advice because you would lose any changes you've made, but I assumed they haven't made any changes, due to the build errors (which also assumes they tried to build immediately).

    If I were giving generic advice, I'd reiterate my subsequent comment:

    - Search and replace in VS Code (or the editor/IDE of your choice)

    - Rename files manually

    I do think the CLI advice is good in general, but my only issue is that if you don't already understand the basics of the command line, and the specifics of perl (for example), it's kind of opaque. It's just a recipe that the dev can copy and paste without necessarily understanding how it works. Which is fine in a lot of cases (you could argue it's the basis of stackoverflow-driven development). It might even drive the developer to learn more about command line tools. But for OP, without context of how they'd use those tools under Windows (e.g. use git and install WSL), it might not be the optimal solution.