В моем проекте есть функция очистки терминала, которая реализована с использованием библиотеки curses. Компиляция с флагом -lcurses
работает нормально, но компилируется без результатов
/tmp/cc3T2MVI.o: In function `ClearScreen()':
clear_term.cpp:(.text+0xb): undefined reference to `cur_term'
clear_term.cpp:(.text+0x26): undefined reference to `setupterm'
clear_term.cpp:(.text+0x37): undefined reference to `tigetstr'
clear_term.cpp:(.text+0x3f): undefined reference to `putp'
collect2: ld returned 1 exit status
Это, очевидно, ожидаемо, поскольку не может найти библиотеку, но поскольку эта функциональность является дополнительной, было бы предпочтительнее определить ClearScreen()
как пустую функцию, чем из-за сбоя компиляции. Я знаю, что поместил определение функции в блок #ifdef
, но я не знаю флагов, определенных с помощью curses.
Можно ли перехватить эти ошибки и вместо этого определить ClearScreen()
как пустую функцию?