The grblmain.h file just calls the grbl program. I have used grbl on a couple of machines with great success and this is the first that I have seen grblmain.h or heard of startGrbl(), I don't use those files at all.
The first thing is to install the grbl firmware onto the Uno. Download the firmware from this site. This site has instructions on how to install grbl to the Uno via the Arduino IDE. Once installed on the Uno, grbl should start and connect with UGS when the Uno is powered up.
This page shows the pin mapping that grbl expects and some options for motor drivers and wiring. If your machine is not wired like that you will need to change the machine wiring or the grbl pin mapping.
This page explains what you need to set in grbl to make grbl work with your particular setup. I know that the new version is 1.1, but the configuration has not changed much between 0.9 and 1.1.
bCNC and Universal gcode Sender perform similar functions. Having tried both I settled on bCNC because I just like it better. It is a matter of personal choice which to use.
I can't be of much more help until I know the specs of your machine and how things are wired. A schematic would help a lot. What motor drivers are you using? grbl works with step/dir type drivers like the A4988, DRV6625, etc. grbl will not work with h-bridge drivers like the one based on L293 or L298.
Building and setting up a DIY CNC machine is a bit of a complicated process. Don't let it overwhelm you. A step at a time will get you there.