У меня есть статические библиотеки, созданные с использованием стандарта C++17, а основной проект (.exe) использует C++20 (компилятор MSVC).
Это нормально, или мне следует везде использовать один и тот же стандарт?
Вопрос возник потому, что я использую ASan (Address Sanitizer), который выдает ошибку «AddressSanitizer: use-after-poison по адресу...» Однако, если я устанавливаю Стандарт C++17 в основном проекте (в .exe), ASan не выдает эту ошибку.
Может ли использование разных стандартов привести к несовместимости на двоичном уровне?
Подробнее здесь: https://stackoverflow.com/questions/799 ... es-and-exe