Running a servo and tone() won't compile? "multiple definition of `__vector_32'"?
The problem you're seeing arises when two codes (e.g. libraries) try to use the same interrupt. 

If you look at the source code of the two libraries, you'll find that they both make use of a number of ISRs (interrupt service routines): Tone.cpp uses

ISR(TIMERn_COMPA_vect) {...}


for n = 0..5, while Servo.cpp uses

ISR(TIMERn_COMPA_vect) {...}


for n = 1, 3, 4, 5.

Now what happens when you compile this code is that they both libraries generate identical symbols (the __vector_32 part) which then clash when the compiled code is linked to give the final binary you'd upload to your Arduino.

There is no simple way around this because the interrupt handlers need to be  registered at certain fixed positions in flash memory and there can only be exactly one interrupt handler for each of these slots (these slots are simply entries in a look-up table with the addresses of the interrupt handlers in flash, cf. Table 9-1 in the datasheet).

Now to solve this problem you would need to find a way to either merge the interrupt handlers of the two libraries (not so easy I guess), or make them use different interrupts (without looking further into what options the pro micro offers, the code suggests that there are several TIMER interrupts which could be assigned one to the Servo, one to the Tone, if that is supported by the hardware).

In any case you'll not get around modifying the libraries (or writing your own code for one functionality or the other).