У меня есть функция bar (), которую я на самом деле не вызываю, которая вызывает невыполненную функцию foo ():
void foo();
void bar()
{
foo();
}
int main()
{
}
Если я упаковываю каждую функцию в отдельном разделе / COMDAT и спрашиваю компоновщик удалить неиспользуемые разделы / COMDAT, я могу получить g cc для компиляции программы
gcc -ffunction-sections -Xlinker --gc-sections LinkerFunctions.cpp
, но эквивалент в Visual C ++ 2019
cl /Gy LinkerFunctions.cpp /link /OPT:REF
лает, что
error LNK2019: unresolved external symbol "void __cdecl foo(void)" (?foo@@YAXXZ) referenced in function "void __cdecl bar(void)" (?bar@@YAXXZ)
Как мне получить msv c для компиляции программы?