Теряется символ функции в макросе 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. При этом, если выводить оба аргумента разными функциями, то символы не теряются.

Собственно, вопрос: как-нибудь можно "импортировать" символ вручную, что бы его ссылка была в таблице импорта, даже если он не используется? (или сделать так, что бы он не терялся линкером)


Ответы (0 шт):