Unity - Available for free if You don't make Your work commercial!
Unreal Engine - Same story as above.
As for what You REALLY should do is use
SFML or SDL over C++ core and just
encase it in libraries when You need them. Sticking to premade engine is very risky because when You want some option which isn't present there You are forced to do workarounds which are 10 times harder then making Your own features from the very beginning.
Oh and btw. before You start something serious I suggest
creating a prototype in some higher level language (Python with Pygame-like library [Pygame itself sucks] or Lua with Love [Yes, I know how it sounds, I didn't invent this name] or Java [don't know what libraries are there - You must check Yourself]). Profits of creating prototype in higher level language are obvious - You can have working RTS game core (with sucky animations, zero balance and zero optimization) to test Your ideas in a week or even less if You are fluent with language You use.
P.S. Superior research skills again:
-
http://glest.org/en/index.php-
http://fifengine.net/And before my hand dies from copy-pasting whole google here I'll just give You this:
-
http://en.wikipedia.org/wiki/List_of_game_enginesSearch for a keyword RTS and You'll find a lot engines. I still advise not to use premade engine though.