DSO引用了... / libgcc.a中的隐藏符号'__udivti3'

时间:2019-03-18 12:58:04

标签: c linker-errors

我正在尝试在Ubuntu 18上使用CMake和Clang编译一个简单的可执行文件。一些来自第三方源代码并编译为共享库libtommath的代码最终在调用__udivti3之后编译器会进行一些代码优化。

在链接时,我有一个错误来自ld,说hidden symbol "__udivti3" in /usr/lib/gcc/x86_64-linux-gnu/7/libgcc.a(_udivdi3.o) is referenced by DSO

我做了一些研究,由于有了link,这实际上意味着共享库引用了__udivti3,但是不能从libgcc.a中使用它,因为它被标记为隐藏在该库中

我的问题是我尝试解决此问题,但链接始终失败。我试图链接到位于同一目录中的libgcc_s,但是clang抱怨找不到它。但是,另一方面,编译和链接在MacOS上也能完美运行,而该问题符号仍然存在。

0 个答案:

没有答案