Rocksdb is used in recent projects (so Library). The previous rocksdb is 4.3.0, which is normal for compilation. Because I want to upgrade, I upgrade rocksdb to 5.13.0
However, after modifying the project and compiling the link, LDD – R XX. So will always appear under define symbol:_ Znvtrocksdb6logger, etc
But the LDD shows that rocksdb.5.13 does link successfully, so I can’t think about it
When using the library to write test cases, the link time will be reported
xxx.so: undefined reference to `typeinfo for rocksdb::FileLock’
xxx.so: undefined reference to `typeinfo for rocksdb::Logger’
xxx.so: undefined reference to `typeinfo for rocksdb::WritableFile’
xxx.so: undefined reference to `typeinfo for rocksdb::RandomAccessFile’
xxx.so: undefined reference to `typeinfo for rocksdb::EnvWrapper’
xxx.so: undefined reference to `typeinfo for rocksdb::SequentialFile’
So look up “undefined reference to ` TypeInfo” and see http://blog.csdn.net/ai2000ai/article/details/47152133 Article
Originally, the new version of rocksdb introduced use_ RTTI option, you can switch the TypeInfo of the required function, then add “use”_ RTTI = 1 “recompile rocksdb
Add – frtti when you compile your own project. Finally, there is no undefine symbol error in LDD
However, when linking test cases, errors such as XXX. So: undefined reference to ` TypeInfo for rocksdb:: filelock ‘still appear
So nm – C XXX. So | grep logger can still be seen
U typeinfo for rocksdb::Logger
U vtable for rocksdb::Logger
Depressed again, thinking hard
After some entanglement, I found that when linking test cases, it is better to link rocksdb. So. 5.13.0
That’s what it came out of
U typeinfo for rocksdb::Logger
U vtable for rocksdb::Logger
Does that mean it’s normal
Similar Posts:
- How to Solve Error: undefined reference to ‘func’
- Undefined reference to ‘pthread’ appears in Linux Ubuntu running thread program_ Create ‘and undefined reference to’ pthread ‘_ ‘join’ error.
- Undefined reference to ` SEM appears when compiling with tcmalloc_ init’
- error adding symbols: DSO missing from command line
- Hi3516DV300 Chip Error: “undefined reference to ×”
- [Solved] Kali hydra update Error: hydra: symbol lookup error
- [MERFISH Error] Error2 ld/ symbol(s) not found for architecture x86_64
- gcc undefined reference to sqrt
- [Solved] undefined reference to `cv::imread(std::string const&, int)’