Chyba linkerů LNK1211
informace o předkompilovaných typech nebyly nalezeny; Název souboru není propojený ani přepsán
Soubor objektu souboru souboru zkompilovaný pomocí /Yc nebyl zadán v příkazu LINK nebo byl přepsán.
Pokud vytváříte knihovnu ladění, která používá předkompilované hlavičky a zadáte /Yc a /Z7, Visual C++ vygeneruje předkompilovaný soubor objektu, který obsahuje informace o ladění. K této chybě dochází pouze v případě, že uložíte předkompilovaný soubor objektu do knihovny, pomocí knihovny sestavíte spustitelný obrázek a soubory objektů, na které se odkazuje, nemají žádné tranzitivní odkazy na žádnou z funkcí, které předkompilovaný soubor objektu definuje.
Existují dvě metody, jak tuto situaci obejít:
Zadejte možnost kompilátoru /Yd pro přidání informací o ladění z předkompilované hlavičky do každého modulu objektu. Tato metoda je méně žádoucí, protože obvykle vytváří velké objektové moduly, které mohou zvýšit dobu potřebnou k propojení aplikace.
Zadejte /Yl a předejte název libovolného řetězce při vytváření předkompilovaného hlavičkového souboru, který neobsahuje žádné definice funkce. Tím kompilátor nasměruje, aby v předkompilovaném souboru objektu vytvořil symbol a vygeneroval odkaz na tento symbol v každém souboru objektu, který používal předkompilovaný soubor hlaviček přidružený k předkompilovanému souboru objektu.
Při kompilaci modulu pomocí /Yc a /Yl vytvoří kompilátor symbol podobný __@@_PchSym_@00@...@symbol_name
symbolu , kde tři tečky (...) představuje řetězec znaku vygenerovaný kompilátorem a uloží ho v modulu objektu. Jakýkoli zdrojový soubor, který zkompilujete pomocí této předkompilované hlavičky, odkazuje na zadaný symbol, což způsobí, že linker zahrne modul objektu a informace o ladění z knihovny.