Функции ncursesw не объявлены - PullRequest
0 голосов
/ 29 января 2020

Мне нужно использовать ncurses с поддержкой юникода, поэтому я включил следующую строку в мой файл. c.

#include <curses.h>

В моем make-файле я использую -lncursesw как флаг. При вызове функций, таких как get_wch (), он говорит мне «неявное объявление функции». Я на Arch Linux, поэтому я установил ncurses с помощью pacman -S ncurses. В / usr / include я могу найти cursesw.h, но в нем нет функций, таких как объявленный get_wch (). В / lib я могу найти libcursesw.so, так в чем же дело?

1 Ответ

0 голосов
/ 29 января 2020

Используйте <curses.h>, прочитайте файл заголовка, чтобы увидеть, какое определение вы предпочитаете использовать:

/* 
 * With XPG4, you must define _XOPEN_SOURCE_EXTENDED, it is redundant (or 
 * conflicting) when _XOPEN_SOURCE is 500 or greater.  If NCURSES_WIDECHAR is   
 * not already defined, e.g., if the platform relies upon nonstandard feature   
 * test macros, define it at this point if the standard feature test macros 
 * indicate that it should be defined. 
 */
#ifndef NCURSES_WIDECHAR
#if defined(_XOPEN_SOURCE_EXTENDED) || (defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE - 0 >= 500))
#define NCURSES_WIDECHAR 1
#else  
#define NCURSES_WIDECHAR 0
#endif
#endif /* NCURSES_WIDECHAR */

(достаточно только NCURSES_WIDECHAR). Это кратко изложено на странице руководства .

. Если вы прочитаете cursesw.h, вы можете заметить, что это для привязки C ++.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...