gpt4 book ai didi

c - 错误 : implicit declaration of function 'g_slist_free_full'

转载 作者:行者123 更新时间:2023-12-02 10:41:37 25 4
gpt4 key购买 nike

我正在尝试编译一些名为 libfprint 的软件.我已经在另一台机器上成功编译了它,但是现在,在许多文件中,我收到以下错误:

tomselleck@ubuntuselleck:~/Documents/FingerBellProject/libfprint-0.5.0$ sudo make
[sudo] password for tomselleck:
make all-recursive
make[1]: Entering directory `/home/tomselleck/Documents/FingerBellProject/libfprint-0.5.0'
Making all in libfprint
make[2]: Entering directory `/home/tomselleck/Documents/FingerBellProject/libfprint-0.5.0/libfprint'
CC libfprint_la-aes1610.lo
drivers/aes1610.c: In function 'capture_read_strip_cb':
drivers/aes1610.c:619: error: implicit declaration of function 'g_slist_free_full'
make[2]: *** [libfprint_la-aes1610.lo] Error 1
make[2]: Leaving directory `/home/tomselleck/Documents/FingerBellProject/libfprint-0.5.0/libfprint'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/tomselleck/Documents/FingerBellProject/libfprint-0.5.0'
make: *** [all] Error 2

有任何想法吗?谢谢 !

编辑

我将发布一个引发错误的行的示例:
    /* stop capturing if MAX_FRAMES is reached */
if (aesdev->blanks_count > 10 || g_slist_length(aesdev->strips) >= MAX_FRAMES) {
struct fp_img *img;

fp_dbg("sending stop capture.... blanks=%d frames=%d", aesdev->blanks_count, g_slist_length(aesdev->strips));
/* send stop capture bits */
aes_write_regv(dev, capture_stop, G_N_ELEMENTS(capture_stop), stub_capture_stop_cb, NULL);
aesdev->strips = g_slist_reverse(aesdev->strips);
img = aes_assemble(aesdev->strips, aesdev->strips_len,
FRAME_WIDTH, FRAME_HEIGHT);

g_slist_free_full(aesdev->strips, g_free);<---- Error here

aesdev->strips = NULL;
aesdev->strips_len = 0;
aesdev->blanks_count = 0;
fpi_imgdev_image_captured(dev, img);
fpi_imgdev_report_finger_status(dev, FALSE);
/* marking machine complete will re-trigger finger detection loop */
fpi_ssm_mark_completed(ssm);
/* Acquisition finished: restore default gain values */
restore_gain();
} else {
/* obtain next strip */
fpi_ssm_jump_to_state(ssm, CAPTURE_REQUEST_STRIP);
}

out:
g_free(data);
libusb_free_transfer(transfer);
}

最佳答案

这发生在

  • 函数的第一次使用在其定义之前,
  • 该函数没有原型(prototype),或
  • 缺少所需的头文件。

  • 在第一次使用之前,请确保文本或标题中有原型(prototype),或者将函数移动到文件的前面。

    关于c - 错误 : implicit declaration of function 'g_slist_free_full' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15709962/

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