小编Mir*_*iny的帖子

对“kill”的未定义引用

我用 C 开发了一个 ARM7 嵌入式系统的应用程序。现在我想用 C++ 编译和链接它,以便使用一些 C++ 特性。为此,我使用mipsel-elf-g++代替mipsel-elf-gcc. 我可以mipsel-elf-g++成功编译我的代码,但在链接步骤中我收到错误:

/opt/mipsel/lib/gcc/mipsel-elf/3.4.6/../../../../mipsel-elf/lib/libc.a(lib_a-abort.o):在函数```abort': /cygdrive/d/Files/cross/mips/newlib-1.15.0/newlib/libc/stdlib/abort.c:63: undefined reference to_exit' `

/opt/mipsel/lib/gcc/mipsel-elf/3.4.6/../../../../mipsel-elf/lib/libc.a(lib_a-signalr.o):在函数```_kill_r': /cygdrive/d/Files/cross/mips/newlib-1.15.0/newlib/libc/reent/signalr.c:61: undefined reference tokill中`

collect2: ld 返回 1 个退出状态

搜索了一下这个问题,发现应该实现自己的_exitkill功能,所以在我的项目中添加了这段代码:

void _exit(int code)
{
    while(1);

}

int _DEFUN (kill, (pid, sig), int pid _AND int sig)
{
    if(pid == __MYPID)
        _exit(sig);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

通过添加这两个函数,修复了对 `_exit' 错误的未定义引用,但对 `kill' 错误的未定义引用仍然存在。

我应该怎么做才能解决这个问题?

c c++ embedded arm linker-errors

5
推荐指数
1
解决办法
3208
查看次数

标签 统计

arm ×1

c ×1

c++ ×1

embedded ×1

linker-errors ×1