Virtual functions are considered "used" if you have a single instance of a class created anywhere. Your link error indicate that certain virtual functions are not implemented. As the error list all of them by name it must be a trivial task to locate them, end figure out if you failed to include some code, compiled with different options, or they were indeed unimplemented in the source place -- in which case you can just add blank implementations calling terminate.
For the VLA problem: that extemsion is not present in VS2008, period. Even if you wait some years and VS201y will implement the new VLA-like thing in C++14, it will not go back to your chosen compiler. (kinda weird if you ask me to chose a 5-year old bug-ridden beast that has dropped of support long ago, instead of the current...)
But std::vector
does almost the same as VLA, and if you find difference you can write a beter wrapper or a few adapter functions. The place of memory allocation is not something you can discover legally in the program anyway. In case you'd hit some performance bottleneck, that is doubtful from such a change, you can rearrange a small portion of code.