連結器工具錯誤 LNK2011
未連結的先行編譯物件;映像可能無法執行
如果您使用先行編譯標頭,LINK 會要求使用先行編譯標頭建立的所有物件檔案都必須連結在 中。 如果您有用來產生先行編譯標頭以與其他原始程序檔搭配使用的來源檔案,您現在必須包含與先行編譯頭一起建立的物件檔案。
例如,如果您編譯名為 STUB.cpp 的檔案,以建立與其他原始程序檔搭配使用的先行編譯標頭,您必須連結STUB.obj,否則會收到此錯誤。 在下列命令行中,第一行用來建立先行編譯標頭 COMMON.pch,其與第二行和第三行中的PROG1.cpp和PROG2.cpp搭配使用。 檔案STUB.cpp只 #include
包含行(與 PROG1.cpp 和 PROG2.cpp 中的行相同 #include
),而且僅用於產生先行編譯標頭。 在最後一行中,必須連結STUB.obj以避免LNK2011。
cl /c /Yccommon.h stub.cpp
cl /c /Yucommon.h prog1.cpp
cl /c /Yucommon.h prog2.cpp
link /out:prog.exe stub.obj prog1.obj prog2.obj