Unlike other components of DirectX, the DirectMusic application programming interface (API) is completely COM-based and does not contain any library functions such as helper functions to create COM objects. As a result, there is no Dmusic.lib file to link to during the build.
Most projects will need to include the header files Dmusicc.h and Dmusici.h, which contain declarations for the core and performance layers respectively, and Dmerror.h, which contains return values. Dmusicf.h has to do with file formats and is needed only for applications such as music authoring tools that work directly with files and do not rely solely on the loaders built into DirectMusic.
Dmksctrl.h contains declarations for the IKsControl interface, used for property sets. You do not need this file if you have the Ksproxy.h and Ks.h files.
DirectMusic uses the multithreading capabilities of the Windows 32-bit operating system. Multithreading allows DirectMusic to generate, process, and synthesize music in the background while your application is concentrating on other tasks. You should develop your project with multithreading in mind. If nothing else, be sure to link with the multithreaded libraries.
You also need to make sure your application has access to the GUIDs used by DirectMusic. For more information, see Compiling DirectX Samples and Other DirectX Applications.