Я разработал приложение для встроенной системы ARM7 на языке C. Теперь я хочу скомпилировать и связать его с 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 to
kill'`
collect2: ld вернул 1 состояние выхода
Я искал об этой проблеме и обнаружил, что должен реализовать свои собственные функции _exit
и kill
, поэтому я добавил следующие коды в свой проект:
void _exit(int code)
{
while(1);
}
int _DEFUN (kill, (pid, sig), int pid _AND int sig)
{
if(pid == __MYPID)
_exit(sig);
return 0;
}
При добавлении этих двух функций исправлена неопределенная ссылка на ошибку `_exit ', но неопределенная ссылка на ошибку` `kill' все еще существует.
Что мне нужно сделать, чтобы исправить эту проблему?