当前位置: 代码迷 >> 综合 >> QT报错“conflicting declaration of C function ‘float fabsf(float)‘的解决方案
  详细解决方案

QT报错“conflicting declaration of C function ‘float fabsf(float)‘的解决方案

热度:91   发布时间:2023-12-24 12:52:57.0

今天遇到这个情况:

在这里插入图片描述
“C函数‘float fabsf(float)’的声明冲突”

实验各种操作之后发现可以这么做:把“extern float __cdecl fabsf (float x);”这行注释掉,然后编译,ok。然后取消掉注释,再编译,就解决了这个问题。

后面发现在这一行extern后面多加一个空格,就可以复现这种情况:

在这里插入图片描述
然后即使删去空格再编译,也会一样报错,只有通过上文所述的先注释再编译才能解决。

朋友猜测应该是编译先后顺序的问题:在更改这个头文件之前,就只编译你写的而不会编译这个头文件;然后更改了这个头文件两个都会被编译。

谨以此文记录这个第一次遇到的bug,如有大佬了解相关问题还请不吝指教。

  相关解决方案