Почему MSVC не дает проблем с компоновщиком при смешивании RTTI без кода, созданного RTTI? - PullRequest
5 голосов
/ 01 июля 2019

У меня есть статическая библиотека, которая создается с использованием /GR- (RTTI отключен), в CMake:

add_library(LibName STATIC someSource.cpp)
target_compile_options(LibName PRIVATE /GR-)
...

И мой исполняемый файл собран с использованием /GR (RTTI включен) и зависит от библиотеки:

target_link_libraries(myTarget ${LibName})
target_compile_options(myTarget PRIVATE /GR)
...

Когда вы делаете то же самое с GCC и соответственно используете флаги -fno-rtti & -frtti, вы получите ошибки компоновщика, такие как: undefined reference to typeinfo for ClassName. Почему бы не MSVC, мне нужно беспокоиться? Или это особенность MSVC?

...