I was suggesting that building dosbox with a library is an advanced topic and not an ideal environment to learning the compiler and linker settings. This is because there are different ways to solve errors and it requires knowledge of reading the source code. The above copy of midi_mt32.h and its location is specified in the header file itself. Development of these libraries do not typically offer a guide such as found in dosbox; and dosbox is designed to be built easily. Documentation is a separate task and would require a lot of technical knowledge without reward.
From past experience, the above "linker" error is in a function defined in midi_mt32.h (the one under /gui and it also occurs in the corresponding .c file). This usually means that the linker cannot see that function because the (header or) library files are not visible to the (compiler or) linker. This could be caused by not specifying the directories where these files are located; one solution is to copy these files to the appropriate include/ and library/ directories which are seen by the compiler and linker. If I had the Debian environment, I would work out the steps and then could reproduce the error. But this provides a start for experimenting.
I assume you moved the header files to an /include directory which is visible by the compiler. Also, ensure you built the mt32 library in your own linux environment and copied that library to the appropriate path. I'll verify the ./configure command line and whether it requires additional paths set for the mt32 library, for instance. I wonder whether the linker can find the mt32 library, perhaps first try copying it to a directory of library files which are visible to the linker. Given you are able to build dosbox without mt32, then the SDL library must be visible to the linker, perhaps copy the mt32 library to the directory where the SDL library is located.
The above point about using known working binaries can be illustrated by the newest gcc (4.8.x). It is just another source of possible error because the compilers change their settings between versions. It is better to use a commonly used version instead. However, I don't believe this is the source of the linker error.
This all presumes that you verified that the patch was installed correctly and that you do not have any .rej files from incorrect patching of code into the source files.
I was only offering my opinion about compiler/linker questions because there could be dozens of these for a complex software package. However, I'm sure this opinion is easily refuted. 😀
Edit: ensure that there are two different midi_mt32.h files, one under gui/ and the other under gui/mt32emu/.