Ваши спецификации неверны.Хороший, краткий способ сделать это - использовать один и тот же заголовок в DLL и APP, определяя интерфейс экспорта-импорта., Который использует такой макрос:
#ifdef MY_DLL_EXPORTS
#define MY_DLL_API __declspec(dllexport)
#else
#define MY_DLL_API __declspec(dllimport)
#endif
И объявления:
extern "C" MY_DLL_API int Filter(int* data, int count, const WCHAR* parameterString);
Файл библиотеки .cpp будет использовать этот заголовок и определит MY_DLL_EXPORTS.
Если я правильно понимаю ваш код, вы сделали так, чтобы компоновщик пытался экспортировать одну и ту же функцию из обоих модулей?ALso, прототип функции должен быть C-совместимым, чтобы быть на самом деле extern "C"