Теряется символ функции в макросе visual studio
Хочу сжать два обязательных компонента вывода отладочной инфы до двух последовательных макросов:
#define xx(var, ...) printf("%s: %d",var,__VA_ARGS__) \n #define nov(var) xx(#var,var)
Которые должны использоваться примерно так:
std::cout << nov(SymInitialize(proc, nullptr, true)) << std::endl;
Visual Studio подсказывает, что "расширяется" всё окей: printf("%s: %d",строка из сурса в кавычках, строка вне кавычек), что по идее должно работать после отработки всех этапов сборки, но; неразрешенный внешний символ __imp__SymInitialize@12. При этом, если выводить оба аргумента разными функциями, то символы не теряются.
Собственно, вопрос: как-нибудь можно "импортировать" символ вручную, что бы его ссылка была в таблице импорта, даже если он не используется? (или сделать так, что бы он не терялся линкером)