Флаг не нужен, потому что модель компоновщика Windows / MSVC отличается.В Windows компоновщик использует файлы .LIB для определения зависимостей, в то время как ОС использует таблицы адресов импорта и таблицы адресов экспорта.
Ключом для получения файла LIB и файла exe таблицы адресов экспорта является __declspec(dllexport)
.Да, название вводит в заблуждение, но в конце EXE-файл представляет собой файл формата PE, как DLL.