Ошибка средств компоновщика LNK2011
предварительно компилированный объект, не связанный; Образ может не запускаться
Если вы используете предварительно скомпилированные заголовки, LINK требует, чтобы все файлы объектов, созданные с предварительно скомпилированных заголовков, должны быть связаны. Если у вас есть исходный файл, используемый для создания предварительно скомпилированного заголовка для использования с другими исходными файлами, теперь необходимо включить файл объекта, созданный вместе с предварительно скомпилированным заголовком.
Например, если вы компилируете файл с именем STUB.cpp для создания предварительно скомпилированного заголовка для использования с другими исходными файлами, необходимо связаться с STUB.obj или вы получите эту ошибку. В следующих командных строках строка одна используется для создания предварительно скомпилированного заголовка COMMON.pch, который используется с PROG1.cpp и PROG2.cpp в строках два и три. Файл STUB.cpp содержит только #include
строки (те же #include
строки, что и в PROG1.cpp и PROG2.cpp) и используются только для создания предварительно скомпилированных заголовков. В последней строке необходимо связать 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