Я просто провел несколько часов на процессоре ARM, пытаясь заставить его работать, так как принятый ответ не работал для меня.
Вот мои выводы:
Видимо
gcc -static hello_curses.c -o curses -lncurses
работает на процессоре x64, но не на процессоре ARM.
Когда я пытался использовать приведенную выше строку, я все еще получал все «неопределенные ошибки ссылок» (и многое другое) в OP.
Вам также необходимо создать ссылку на libtinfo.a и учесть, что последовательность имеет значение.
Это правильная командная строка, которая работает:
gcc -static hello_curses.c -o curses -lncurses -ltinfo
Если вы перепутаете последовательность, она не будет работать ...
gcc -static hello_curses.c -o curses -ltinfo -lncurses
неопределенная ссылка на `unctrl '
Конечно, это также работает, если вы используете: lib синтаксис
Это компилируется
gcc -static hello_curses.c -o curses -l:libncursesw.a -l:libtinfo.a
Это не компилируется
gcc -static hello_curses.c -o curses -l:libtinfo.a -l:libncursesw.a
О, как мне нравится GCC ...
Эта программа никогда не должна была допускаться до окончания детского сада
(. Text + 0x2a8): неопределенная ссылка на cur_term'
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_color.o):
In function
init_pair ': (.text + 0x2ac): неопределенная ссылка на
cur_term'
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_color.o):
In function
init_pair ': (.text + 0x50a): неопределенная ссылка на tparm'
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_color.o):
In function
init_pair': (.text + 0x518): неопределенная ссылка на
_nc_putp'
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_color.o):
In function
init_color ': (.text + 0x552): неопределенная ссылка на
cur_term'
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_color.o):
In function
init_color ': (.text + 0x556): неопределенная ссылка на
cur_term'
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_color.o):
In function
init_color ': (.text + 0x5e4): неопределенная ссылка на
tparm'
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_color.o):
In function
init_color ': (.text + 0x5f2): неопределенная ссылка на
_nc_putp'
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_color.o):
In function
can_change_color ': (.text + 0x740): неопределенная ссылка на
cur_term'
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_color.o):
In function
can_change_color ': (.text + 0x744): неопределенная ссылка на
cur_term'
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_color.o):
In function
has_colors ': (.text + 0x768): неопределенная ссылка на
cur_term'
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_color.o):
In function
has_colors ': (.text + 0x76c): неопределенная ссылка на
cur_term'
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_color.o):
In function
color_content ': (.text + 0x7c2): неопределенная ссылка на
cur_term'
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_color.o):(.text+0x7c6):
more undefined references to
cur_term 'следовать
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_color.o):
В функции _nc_do_color': (.text+0x8de): undefined reference to
тпармь
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_color.o):
В функции _nc_do_color': (.text+0x8e6): undefined reference to
tputs '
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_color.o):
В функции _nc_do_color': (.text+0x958): undefined reference to
tputs '
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_color.o):
В функции set_foreground_color': (.text+0x62): undefined reference
to
tputs '
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_color.o):
В функции set_background_color': (.text+0xa2): undefined reference
to
tputs '
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_hline.o):
В функции whline': (.text+0xec): undefined reference to
acs_map '
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_hline.o):
В функции whline': (.text+0xf0): undefined reference to
acs_map '
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_add_wch.o):
В функции wadd_wch': (.text+0x4fe): undefined reference to
TABSIZE '
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_add_wch.o):
В функции wadd_wch': (.text+0x502): undefined reference to
TABSIZE '
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_add_wch.o):
В функции wecho_wchar': (.text+0x6d8): undefined reference to
TABSIZE '
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_add_wch.o):
В функции wecho_wchar': (.text+0x6dc): undefined reference to
TABSIZE '
/usr/lib/gcc/arm-linux-gnueabihf/4.8/../../../arm-linux-gnueabihf/libncursesw.a(lib_wunctrl.o):
В функции wunctrl': (.text+0x30): undefined reference to
unctrl '
collect2: ошибка: ld вернул 1 состояние выхода