使用 Kendryte IDE编译自带工程gpio_led_standalone出错的解决办法

输出错误如下:

INFO] [100%] Linking C executable gpio_led_standalone

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib\libc.a(lib_a-vfprintf.o): in function `_vfprintf_r':

[ INFO] vfprintf.c:(.text._vfprintf_r+0x62): undefined reference to `pthread_setcancelstate'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: vfprintf.c:(.text._vfprintf_r+0x80): undefined reference to `_lock_acquire_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: vfprintf.c:(.text._vfprintf_r+0xd6): undefined reference to `_lock_release_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: vfprintf.c:(.text._vfprintf_r+0xe2): undefined reference to `pthread_setcancelstate'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: vfprintf.c:(.text._vfprintf_r+0x118): undefined reference to `_lock_release_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: vfprintf.c:(.text._vfprintf_r+0x124): undefined reference to `pthread_setcancelstate'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: vfprintf.c:(.text._vfprintf_r+0x6f0): undefined reference to `_lock_release_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: vfprintf.c:(.text._vfprintf_r+0x6fc): undefined reference to `pthread_setcancelstate'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib\libc.a(lib_a-vfprintf.o): in function `__sbprintf':

[ INFO] vfprintf.c:(.text.__sbprintf+0x4e): undefined reference to `_lock_init_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: vfprintf.c:(.text.__sbprintf+0x8c): undefined reference to `_lock_close_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib\libc.a(lib_a-__atexit.o): in function `.L0 ':

[ INFO] __atexit.c:(.text.__register_exitproc+0x12): undefined reference to `_lock_acquire_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: __atexit.c:(.text.__register_exitproc+0x44): undefined reference to `_lock_release_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib\libc.a(lib_a-__atexit.o): in function `.L6':

[ INFO] __atexit.c:(.text.__register_exitproc+0x9a): undefined reference to `_lock_release_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib\libc.a(lib_a-__call_atexit.o): in function `.L0 ':

[ INFO] __call_atexit.c:(.text.__call_exitprocs+0x1c): undefined reference to `_lock_acquire_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: __call_atexit.c:(.text.__call_exitprocs+0x50): undefined reference to `_lock_release_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib\libc.a(lib_a-fflush.o): in function `.L47':

[ INFO] fflush.c:(.text._fflush_r+0x24): undefined reference to `pthread_setcancelstate'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: fflush.c:(.text._fflush_r+0x42): undefined reference to `_lock_acquire_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib\libc.a(lib_a-fflush.o): in function `.L49':

[ INFO] fflush.c:(.text._fflush_r+0x6a): undefined reference to `_lock_release_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: fflush.c:(.text._fflush_r+0x76): undefined reference to `pthread_setcancelstate'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib\libc.a(lib_a-findfp.o): in function `.L0 ':

[ INFO] findfp.c:(.text.std+0x68): undefined reference to `_lock_init_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib\libc.a(lib_a-findfp.o): in function `__sfp_lock_acquire':

[ INFO] findfp.c:(.text.__sfp_lock_acquire+0x4): undefined reference to `_lock_acquire_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib\libc.a(lib_a-findfp.o): in function `__sfp_lock_release':

[ INFO] findfp.c:(.text.__sfp_lock_release+0x4): undefined reference to `_lock_release_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib\libc.a(lib_a-findfp.o): in function `__sinit_lock_acquire':

[ INFO] findfp.c:(.text.__sinit_lock_acquire+0x4): undefined reference to `_lock_acquire_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib\libc.a(lib_a-findfp.o): in function `__sinit_lock_release':

[ INFO] findfp.c:(.text.__sinit_lock_release+0x4): undefined reference to `_lock_release_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib\libc.a(lib_a-mlock.o): in function `__malloc_lock':

[ INFO] mlock.c:(.text.__malloc_lock+0x4): undefined reference to `_lock_acquire_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib\libc.a(lib_a-mlock.o): in function `__malloc_unlock':

[ INFO] mlock.c:(.text.__malloc_unlock+0x4): undefined reference to `_lock_release_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib\libc.a(lib_a-fclose.o): in function `.L3':

[ INFO] fclose.c:(.text._fclose_r+0x1e): undefined reference to `pthread_setcancelstate'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: fclose.c:(.text._fclose_r+0x3c): undefined reference to `_lock_acquire_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib\libc.a(lib_a-fclose.o): in function `.L4':

[ INFO] fclose.c:(.text._fclose_r+0x56): undefined reference to `_lock_release_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib\libc.a(lib_a-fclose.o): in function `.L6':

[ INFO] fclose.c:(.text._fclose_r+0x62): undefined reference to `pthread_setcancelstate'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib\libc.a(lib_a-fclose.o): in function `.L11':

[ INFO] fclose.c:(.text._fclose_r+0xd4): undefined reference to `_lock_release_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: fclose.c:(.text._fclose_r+0xde): undefined reference to `_lock_close_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: fclose.c:(.text._fclose_r+0xee): undefined reference to `pthread_setcancelstate'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/lib\libc.a(lib_a-fputwc.o): in function `_fputwc_r':

[ INFO] fputwc.c:(.text._fputwc_r+0x14): undefined reference to `pthread_setcancelstate'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: fputwc.c:(.text._fputwc_r+0x32): undefined reference to `_lock_acquire_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: fputwc.c:(.text._fputwc_r+0x7e): undefined reference to `_lock_release_recursive'

[ INFO] h:/k210/kendryteide/localpackage/toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.2.0/../../../../riscv64-unknown-elf/bin/ld.exe: fputwc.c:(.text._fputwc_r+0x8a): undefined reference to `pthread_setcancelstate'

[ INFO] collect2.exe: error: ld returned 1 exit status

[ INFO] mingw32-make.exe[2]: *** [CMakeFiles/gpio_led_standalone.dir/build.make:84: gpio_led_standalone] Error 1

[ INFO] mingw32-make.exe[1]: *** [CMakeFiles/Makefile2:73: CMakeFiles/gpio_led_standalone.dir/all] Error 2

[ INFO] mingw32-make.exe: *** [Makefile:84: all] Error 2

[ INFO]

[ INFO] Build Error: h:/K210/KendryteIDE/LocalPackage/cmake/bin/cmake.exe exited with code 2.

 

解决办法:

在 main函数之前再加一个不用的子函数即可解决,如下:

int solve()
{
    printf("solve");
}

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值