有没有办法找出ncurses是否支持ABI 6?
if ( ABI 6 is supported ) {
...
}
else {
...
}
答案 0 :(得分:1)
您可以通过比较头文件来看到这一点。有两个功能可以在编译时检查:
/* * Identify the mouse encoding version. */ -#define NCURSES_MOUSE_VERSION 1 +#define NCURSES_MOUSE_VERSION 2
@@ -374,9 +419,9 @@ { attr_t attr; wchar_t chars[CCHARW_MAX]; -#if 0 +#if 1 #undef NCURSES_EXT_COLORS -#define NCURSES_EXT_COLORS 20110404 +#define NCURSES_EXT_COLORS 20170729 int ext_color; /* color pair, must be more than 16-bits */ #endif }
也就是说,后者是(在ABI 5中)在ifdef中,它阻止定义NCURSES_EXT_COLORS
符号。始终定义NCURSES_MOUSE_VERSION
符号,但其值已更改。