У меня есть программа, которую я написал с использованием библиотеки C ncurses. В этой программе рядом с верхом у меня есть эта строка:
ESCDELAY = 0;
Эта строка используется для удаления задержки, возникающей при нажатии клавиши escape в ncurses.
Я могу скомпилировать эту программу обычно так:
gcc program.c -o program -lncurses
У меня установлены и настроены правильные библиотеки для соединения * stati c, но когда я пытаюсь статически скомпилировать свою программу:
gcc -static program.c -o program -lncurses
Я получаю эта ошибка:
/usr/bin/ld: /usr/local/lib/libncurses.a(lib_getch.o):(.data+0x0): multiple definition of `ESCDELAY'; /tmp/ccMFQAm6.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
Когда я удаляю строку ESCDELAY = 0;
из своего кода и компилирую ее статически, как раньше, она компилируется и работает просто отлично.
Итак, как я могу статически компилировать мой код при изменении значения ESCDELAY?