I can't use RTTI in my plugin

when I try to build the project it throw Linker error

                  [2/2] Link UE4Editor-CryptoPPPlugin.dylib
                   Undefined symbols for architecture x86_64:
                    "typeinfo for UBlueprintFunctionLibrary", referenced from:
  typeinfo for UCryptoPPPluginBPLibrary in Module.CryptoPPPlugin.cpp.o
  typeinfo for UCryptoPPPluginBPLibrary in Module.CryptoPPPlugin.gen.cpp.o
                   ld: symbol(s) not found for architecture x86_64
                   clang: error: linker command failed with exit code 1 (use -v to see invocation)
                   ERROR: UBT ERROR: Failed to produce item: /Users/naimkhader/Documents/Unreal                        Projects/Testing/Plugins/CryptoPPPlugin/Binaries/Mac/UE4Editor-CryptoPPPlugin.dylib
                   Total build time: 18.64 seconds (Local executor: 0.00 seconds)

Just learning about this myself. From: RTTI failed compiling when enabled for 4.23 linux - Platform & Builds - Epic Developer Community Forums

set RTTI to true just for the module (in its Build.cs) that actually needs dynamic_cast and see if you can get away with that (you may if you don’t subclass engine classes in that module). If your module has both dynamic_cast and also subclasses engine classes, you’ll need split that into two modules and only have RTTI enabled for the one that uses dynamic_casts.

(Emphasis added)

Hope that helps!