eferência indefinida para `kill '
Desenvolvi um aplicativo para um sistema embarcado ARM7 em C. Agora, quero compilar e vincular o C ++ a fim de usar alguns recursos do C ++. Para fazer isso, estou usandomipsel-elf-g++
ao invés demipsel-elf-gcc
. Eu posso compilar meu código commipsel-elf-g++
com sucesso, mas na etapa de vinculação recebo os erros:
/ opt / mipsel / lib / gcc / mipsel-elf / 3.4.6 /../../../../ mipsel-elf / lib / libc.a (lib_a-abort.o): Em funçã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): Em função```_kill_r': /cygdrive/d/Files/cross/mips/newlib-1.15.0/newlib/libc/reent/signalr.c:61: undefined reference to
kill'`
collect2: ld retornou 1 status de saída
Pesquisei esse problema e descobri que deveria implementar meu próprio_exit
ekill
funções, então adicionei esses códigos ao meu projeto:
void _exit(int code)
{
while(1);
}
int _DEFUN (kill, (pid, sig), int pid _AND int sig)
{
if(pid == __MYPID)
_exit(sig);
return 0;
}
Ao adicionar essas duas funções, a referência indefinida ao erro `_exit 'é corrigida, mas a referência indefinida ao erro` `kill' 'ainda exist
O que devo fazer para corrigir esse problema?