У меня статические библиотеки, построенные по стандарту 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