Я не знаю, есть ли более элегантный способ в Visual Studio, но в кроссплатформенном решении мы используем его, чтобы иметь два макроса, которые принудительно связывают файл с пробламатическим объектом.
Один помещается в исходный файл исключаемых функций, другой помещается в функцию, которая, как знает компоновщик, будет вызвана.
Что-то вроде;
#define FORCE_LINK_THIS(x) int force_link_##x = 0;
#define FORCE_LINK_THAT(x) { extern int force_link_##x; force_link_##x = 1; }
Это не совсем элегантно, но мы не нашли лучшего решения, работающего на разных платформах.