Вооружаемся словариком и нормальным учебником по С или С++. "undefined reference" переводится как "неопределенная ссылка", это значит, что компилятору известно о существовании такой функции, а линкер найти её не может. Что вполне логично, учитывая, что функция эта находится в библиотеке, но мы об этом линкеру не сказали. Чтобы при линковке исполняемых файлов поиск функций происходил в сторонних библиотеках, нужно эти библиотеки указать при помощи ключа -l (латинская буква, а не цифра 1): g++ some_file.cpp -llibrary_name. В этом случае линкер будет искать библиотеку liblibrary_name.so в одном из стандартных каталогов (/usr/lib, /usr/local/lib, как правило). Если ваша библиотека находится в нестандартном каталоге, указываем путь с помощью ключа -L: g++ some_file.cpp -llibrary_name -L/path/to/folder.
Поскольку функции, которые не может найти линкер, находятся в libncurses.so, которая находится в стандартном каталоге /usr/lib, то в коммандную строку компилятора необходимо добавить:
g++ -Wall -o "kpz_05" "kpz_05.cpp" -lncurses