且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

-static-libasan的未定义符号错误

更新时间:2023-11-10 19:43:34

这是 GCC PR 64234 。在某些时候,我什至可以修复它)

This is GCC PR 64234. At some point I may even get to fixing it)

可以使用动态运行时代替(例如,删除 -static-libasan )?另一种选择是将 -lsoci_oracle.d 添加到 LDFLAGS (这将通知GCC导出必要的符号)。或者,您也可以添加一个非常愚蠢的解决方法,即从代码中强制引用丢失的符号:

Can you use dynamic runtime instead (i.e. remove -static-libasan)? Another option is adding -lsoci_oracle.d to LDFLAGS (this would inform GCC to export necessary symbols). Or you can add a really silly workaround i.e. force a reference to missing symbol from your code:

extern "C" void __asan_unregister_globals(void *globals, size_t n);
void *force_missing_symbol = (void *)__asan_unregister_globals;

(您需要针对 all 丢失的符号,原型进行此操作可以从此标头中获得)。

(you'll need to do this for all missing symbols, prototypes can be obtained from this header).