在包含另一个 spdlog 的应用程序中使用 spdlog 进行日志记录时出现分段错误
Segmentation fault when logging using spdlog in an app that includes another spdlog
我有一个使用 spdlog
进行内部日志记录的本机库。
库被编译为共享库,结果 .so
文件随后用于 Android 项目,该项目有自己的 JNI 和本机 c++ 代码,该代码也使用 spdlog
。
第一次调用 spdlog
时,我们从中体验到 SIGSEGV
。经过一些研究,我们发现由于 spdlog
是一个仅包含头文件的库,因此在以这种方式使用它时可能会出现问题,因此我们改为将其用作本机库中的静态库。
这似乎解决了问题,但现在我们在第一次从应用程序的本机代码调用 spdlog
时得到了 SIGSEGV
。
以这种方式使用 spdlog
是否有任何限制或问题,特别是在 Android 项目中?
关于调试问题有什么建议吗?
如果有任何代码有帮助,请告诉我需要什么,我会更新问题
编辑
此外,值得注意的是,只有当本机库以 Release 模式构建时才会发生。在调试中,一切都按预期工作
原来解决方案只是升级到更新版本的 spdlog
我有一个使用 spdlog
进行内部日志记录的本机库。
库被编译为共享库,结果 .so
文件随后用于 Android 项目,该项目有自己的 JNI 和本机 c++ 代码,该代码也使用 spdlog
。
第一次调用 spdlog
时,我们从中体验到 SIGSEGV
。经过一些研究,我们发现由于 spdlog
是一个仅包含头文件的库,因此在以这种方式使用它时可能会出现问题,因此我们改为将其用作本机库中的静态库。
这似乎解决了问题,但现在我们在第一次从应用程序的本机代码调用 spdlog
时得到了 SIGSEGV
。
以这种方式使用 spdlog
是否有任何限制或问题,特别是在 Android 项目中?
关于调试问题有什么建议吗?
如果有任何代码有帮助,请告诉我需要什么,我会更新问题
编辑
此外,值得注意的是,只有当本机库以 Release 模式构建时才会发生。在调试中,一切都按预期工作
原来解决方案只是升级到更新版本的 spdlog