It is not essential to give these good values, as the algorithm is adaptive, but the idea is that you should specify a typical expected step size here. Err on the small side if unsure. Maximum number of line minimizations performed. Whether a gradient is evaluated at the beginning of every line minimization. If you can get away with this being 0, then the optimizer runs faster.
Error messages Failure to compile.
If it complains about srand being redefined, don't worry. We don't need srand. This sort of error message is a problem. The inner product at the beginning of a line search should be negative, otherwise the whole method doesn't work at all. You are right, mynr.h is not needed.