.DEF-файл все еще используется?
Забудьте .DEF файлы. Они ушли в прошлое.
Экспорт ваших функций, будь то функции C или символы C ++, через __declspec (dllimport / dllexport).
Если вам действительно нужны недекорированные имена, используйте, как предлагает Грег Хьюгилл, ключевые слова __declspec (dllimport / dllexport) в сочетании с extern "C", которые уберут эти символы с их украшения ...
Вы уверены, что хотите удалить украшение C ++?
Для этого есть несколько веских причин: вы хотите экспортировать код, который будет использоваться кодом C, или вы хотите использовать вашу DLL из модулей, скомпилированных с разными компиляторами.
И по второй причине я вместо этого создаю по одной DLL на компилятор и сохраняю декорации.
Помимо этих причин, почему вы хотите убрать украшения?
C ++ украшения / искажение имени не зло
Совсем наоборот.
Если вы работаете с одним компилятором (, и я полагаю, что вы это делаете, потому что вы хотите использовать декорированные имена, а не внешние "C" ), тогда сохраните декорацию C ++ украшения / имени.
Таким образом, вы сможете использовать всю мощь C ++, то есть пространства имен, классы, перегрузки функций / методов и т. Д.
Тем не менее, игра вручную с украшениями символов - это путь к катастрофе: используйте dllexport, чтобы экспортировать ваши символы без необходимости иметь дело с еще одним (.DEF) файлом.