Отказ использовать PGO с ошибкой LNK1270
Я пытаюсь использовать Profile Guided Optimization (PGO) с VS8. После инструментирования рассматриваемой DLL я копирую ее на компьютер, на котором установлено наше приложение, и запускаю сценарий обучения. Затем я копирую обучающие файлыpgc обратно в свою коробку разработчика и получаю следующую ошибку:
1> StdAfx.obj: фатальная ошибка LNK1270: неверный файл; временная метка не соответствует файлу, связанному с /LTCG:PGINSTRUMENT
Запись MSDN для этой ошибки говорит:
файл поврежден; временная метка не соответствует файлу, связанному с /LTCG:PGINSTRUMENT Те же файлы, которые передаются компоновщику при указании /LTCG:PGINSTRUMENT, также должны передаваться при указании /LTCG:PGOPTIMIZE.
/LTCG:PGOPTIMIZE требует, чтобы входные данные были идентичны фазе /LTCG:PGINSTRUMENT.
Чтобы устранить это предупреждение, запустите /LTCG:PGINSTRUMENT, повторите все тестовые прогоны и запустите /LTCG:PGOPTIMIZE или создайте оптимизированный образ с помощью /LTCG:PGUPDATE вместо /LTCG:PGOPTIMIZE.
Повторный запуск тестов не решает проблему (хотя иногда он появляется для других файлов, а не для stdafx.obj).
С помощью/LTCG:PGUPDATE
работает, однако я хотел бы понять, что является причиной ошибки или сбоя, есть ли какие-либо недостатки использования PGUPDATE
скорее, чем PGOPTIMIZE
(Я не могу найти ничего релевантного на странице MSDN PGO).