未定义的对quadmath lib函数的引用(__float128)

时间:2017-12-04 20:51:26

标签: c++ boost

当我尝试使用任何四分之一fnct时,我会遇到问题。 (在开始时,我尝试使用boost lib的float128.hpp。因为float128.hpp基于__float128,当然,使用float128.hpp我使用一个简单的cmath lib。无论如何,与quadmath lib有相同的错误) 。 试图阅读其他相关问题,但决定没有帮助。 可能错过了什么。

例如,这里有一个简单的测试程序来显示:

extern "C" {
#include <quadmath.h>
}
int main()
{
__float128 a = 2.0q;
expq(a);
return 0;
}

编译的结果是:

||=== Build: Release in test (compiler: GNU GCC Compiler 7.2 (x64)) ===|
obj\Release\main.o:main.cpp:(.text.startup+0x21)||undefined reference to `expq'|
||error: ld returned 1 exit status|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

当我打开quadmath.h时,我看到所有功能都是extern。好。函数必须存在,并且它的代码在其他地方。链接器必须能够找到它,但由于某种原因链接器找不到函数的定义位置。 我认为链接器的问题,可能在另一个问题。有人知道怎么解决吗?谢谢谁会回复

以防万一:我使用代码块v.16.01与minGW64 v.7.2(win7)

0 个答案:

没有答案