Cra sh при сборке программы C ++ в Visual Studio с включенной «Использовать генерацию временного кода ссылки», только для платформы x64 - PullRequest
1 голос
/ 17 февраля 2020

У меня есть два проекта C ++ Visual Studio (16.5.0 Preview 2.0): библиотека и приложение, которое ее использует. Проект библиотеки создает четыре файла .lib (для x86 / x64 и release / debug), с которыми статически связывает другой. Приложение до недавнего времени работало нормально во всех конфигурациях. Тогда недавно я изменил библиотеку и перестроил библиотеки .libs, а теперь, когда я создаю приложение для x64 с включенной «Использовать генерацию временного кода связи», оно падает во время выполнения с (очевидно невозможным) нарушением доступа. Обратите внимание, что сборка x86 работает с LTCG или без него, а сборка x64 работает без нее («Без оптимизации всей программы»). Я пробовал чистые сборки обоих решений и дважды проверил, что я связываюсь с правильным .lib.

Это, вероятно, не так уж много для go, но есть ли у кого-нибудь мысли, что проблема может быть? Может ли LTCG VS каким-то образом заставить компоновщик использовать старый код?

...