Обычный текстовый файл. Делаешь в блокноте. Первая строка - название dll (без расширения).
Последующие строки - имена экспортируемых функций (просто имя, без параметров).
Пример:
LIBRARY MyDll
EXPORTS MyFunc1
EXPORTS MyFunc2
Всё. Компилятору (cl.exe) имя этого файла (MyDll.def) не нужно:
cl /Gz /LD /Ox MyDll.cpp
Линкеру нужно указать на этот файл, в ключе /def:
link /subsystem:windows /dll /def:MyDll.def MyDll.obj
Сделал маленькую dll с тремя функциями на экспорт: GetRichText, SetRichText и Dummy.
Первые две соответственно получают и устанавливают текст в ричедите, третья принимает число, умножает на 2 и возвращает результат. Никаких проблем: 2*2=4