Borland no usa COFF para las librerias sino OMF creo que deberías usar un programa que viene con Borland llamado implib para generar la winmm.lib a partir de la winmm.dll (que es donde realmente estan las funciones) el winmm.lib es utilizado para enlazar las funciones.
Como no tengo Borland (afortunadamente) te voy a dar otra solución que es la siguiente:
Código:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <Windows.h>
typedef BOOL (*PlaySoundA_ptr) (char*, HMODULE, DWORD);
PlaySoundA_ptr fn_PlaySound = 0;
void main()
{
HMODULE Lib = LoadLibrary("winmm.dll");
if (Lib)
{
fn_PlaySound = (PlaySoundA_ptr)GetProcAddress(Lib, "PlaySoundA");
if (fn_PlaySound)
{
fn_PlaySound("main.wav", NULL, SND_FILENAME | SND_ASYNC);
}
else
{
MessageBox(0, "Error", "No se encontro la función PlaySoundA", 0);
}
getch();
getch();
FreeLibrary(Lib);
}
else
{
MessageBox(0, "Error", "No se pudo cargar winmm.dll", 0);
}
}
El chiste es cargar la libreria dinamicamente y así no tener que enlazarla con la libreria de importación.