Please don't post complaints without giving sufficient details. Most importantly: What version are you running? This might be the known bug 218395, or a close relative. I don't know which versions that bug exists in, when it was introduced, and when it will be fixed.
What are you really trying to accomplish? This could also be pilot error (using a combination of flags that is not supported).
By the way, your program is borderline incorrect (although legally correct). You have declared the main() function to return an int, yet it is lacking a return statement. Turns out that somewhere buried in the C standard there is a special exemption that says that if main() has no return statement, it will implicitly use "return 0". I think the answer is different for C++; the rules for main() are somewhat different there: due to static constructors and stuff like that, I think in C++ main() should not be reentrant. In any case, from a style point of view, it would have been nicer to write your program like this: "void main(){}". Probably makes no difference to linking with the PIC library though.