In terms of difficulty, your solution will be half-way between comparing raw FFTs and the kind of research cited by lennon310.
Chord transcription from polyphonic music recordings (fully produced songs) presents a bunch of challenges such as:
Notes of a chord can be spread across the time axis (for example, the lead sheet might mention a "C" chord, but the guitar player will slowly strum each note in sequence).
Notes of a chord can be spread across several instruments - the root note played by the bass, the fifth by a background synth and the third in the vocals.
The recognition system must be robust to chord inversions.
The system must make abstraction of the timbre of the instrument playing the chord.
The boundaries between chords are not known in advance.
None of these are going to be problems for you, since what you need to recognize are single chords whose start and end time correspond to the start and end of your signal, played with the same inversion structure as the template, and probably with the same octave, and with an instrument of vaguely similar timbre.
I would thus suggest the following steps:
- One big FFT of the entirety of the recording.
- Mapping of the FFT data to a constant-Q scale (such as quartertones).
- If necessary, the same NNLS estimation as in Matthias Mauch's paper - to emphasize fundamentals and attenuate harmonics - with a parameter $s$ (decay of the template harmonic combs) fine-tuned for the guitar. This gives you a vector akin to a "piano roll" slice.
- Comparison (by mean of scalar product) between the resulting vector and the template.
In particular, there is no need to use chroma features, since this would neutralize transposition/inversions errors that you might want to identify.