The main routine looks different for different OS. For example, the VxWorks main routine returns an integer and does not contain parameters. However, the Unix main routine contains two parameters and can be exited by the exit() call. So you must rewrite the <main> routines in order to port them to the targeted OS.