gpt4 book ai didi

c - 重定位被截断以适合 : R_X86_64_PC32 against undefined symbol `cfree'

转载 作者:行者123 更新时间:2023-11-30 17:27:45 24 4
gpt4 key购买 nike

我正在尝试在 Cygwin 中为 Win64 编译 C4.5 算法。我的错误为

besttree.o:besttree.c:(.text+0x240): undefined reference to `cfree'
besttree.o:besttree.c:(.text+0x240): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `cfree'

当我查看besttree.c时,我发现cfree位于

FormTarget(Size)
/* ----------- */
ItemNo Size;
{
ItemNo i, *ClassFreq;
ClassNo c, Smallest, ClassesLeft=0;

ClassFreq = (ItemNo *) calloc(MaxClass+1, sizeof(ItemNo));



while ( ClassesLeft )
{
/* Find least common class of which there are some items */

Smallest = -1;
ForEach(c, 0, MaxClass)
{
if ( ClassFreq[c] &&
( Smallest < 0 || ClassFreq[c] < ClassFreq[Smallest] ) )
{
Smallest = c;
}
}

/* Allocate the no. of items of this class to use in the window */

TargetClassFreq[Smallest] = Min(ClassFreq[Smallest], Round(Size/ClassesLeft));

ClassFreq[Smallest] = 0;

Size -= TargetClassFreq[Smallest];
ClassesLeft--;
}

cfree(ClassFreq);
}

这次编译可能出现什么问题?是因为Cygwin for Win64编译的原因吗?我也找不到 cfree api 的来源。谢谢

最佳答案

我的经验是C4.5无法在Cygwin中编译,因为Cygwin没有像Linux中那样携带完整的库。所以我在我的 Windows 机器上安装 Ubuntu 作为虚拟操作系统。然后就可以编译成功了。

关于c - 重定位被截断以适合 : R_X86_64_PC32 against undefined symbol `cfree' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26279197/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com