Я пытаюсь использовать Profile Guided Optimization (PGO) с VS8. После инструментирования рассматриваемой библиотеки DLL я копирую ее на компьютер, на котором установлено наше приложение, и запускаю сценарий обучения. Я тогда копирую по гирокомпасу Обучающие файлы возвращаются в мою коробку разработчика и получают следующую ошибку:
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).
Задача ещё не решена.
Других решений пока нет …