解决从源码编译ncurses6.0编译lib_gen.c报错的问题
来源:互联网 发布:百马百担c语言编程答案 编辑:程序博客网 时间:2024/06/05 02:31
source: http://www.th7.cn/system/lin/201603/157354.shtml
直接从官网的源码编译时,会提示报错:
gcc -DHAVE_CONFIG_H -I. -I../include -D_GNU_SOURCE -DNDEBUG -O2 --param max-inline-insns-single=1200 -c ../ncurses/lib_gen.c -o ../objects/lib_gen.oIn file included from ./curses.priv.h:325:0, from ../ncurses/lib_gen.c:19:_18018.c:843:15: error: expected ‘)’ before ‘int’../include/curses.h:1631:56: note: in definition of macro ‘mouse_trafo’ #define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen) ^Makefile:967: recipe for target '../objects/lib_gen.o' failedmake[1]: *** [../objects/lib_gen.o] Error 1make[1]: Leaving directory '/home/abuu/project/ncurses-6.0/ncurses'Makefile:113: recipe for target 'all' failedmake: *** [all] Error 2
报错信息提示宏参数不正确,于是在lib_gen.c中搜索wmouse_trafo或者mouse_trafo。
在lib_gen.c中检索时,发现这部分的代码与上边格式不一致,于是尝试手动修改这部分代码,尝试与文件中的其他部分代码一致。
手动修改后,依然继续报错。于是想了解如何自动生成该文件。
在生成日志中,找到如下命令:
/bin/sh -e ./base/MKlib_gen.sh "gcc -E -DHAVE_CONFIG_H -I. -I../include -D_GNU_SOURCE -DNDEBUG" "mawk" generated <../include/curses.h >lib_gen.c
了解到lib_gen.c是通过脚本ncurses/base/MKlib_gen.sh读取文件include/curses.h后生成的。
打开include/curses.h文件时,发现该文件是通过多个文件生成合并的。查找到跟wmouse_trafo相关的代码是由curses.tail文件引入生成。
查找到mouse_trafo所在行的代码:
extern NCURSES_EXPORT(bool) mouse_trafo (int*, int*, bool); /* generated */
于是怀疑是否因为后边注释的问题导致的。
删除include/curses.h中mouse_trafo所在行的注释,重新make,顺利编译通过.
总结:
这个错误是因为curses.tail文件中的多出来的“/* generated */”注释,删掉它,再删掉curses.h,重新make即可。
- 热点聚合:编译源码 ncurses 解决 问题 gen lib 6.0
0 0
- 解决从源码编译ncurses6.0编译lib_gen.c报错的问题
- 源码编译mysql报错解决
- 在android 源码里 编译 aidl 报错 的问题
- 在android 源码里 编译 aidl 报错 的问题
- 解决Myeclipse 10 编译html jsp报错的问题
- 编译报错解决。
- 解决jdk1.6已经安装,编译android源码报错问题
- pthread_create编译报错的解决
- ___CxxFrameHandler3、@__security_check_cookie编译报错的解决
- caffe 编译报错的解决
- 直接从github上clone ceph 源码,编译 Ceph 的时候报错的解决方法
- Spark-2.2.0源码编译报错
- Openssl-1.0.0c编译报错 libcrypto.so: undefined reference to `ENGINE_load_aep'的问题
- 从源码编译TensorFlow出错和解决
- qt编译不识别tslib报找不到问题的解决
- 编译报错及解决
- 解决RegexKitLite编译报错
- 解决RegexKitLite编译报错
- LeetCode:7. Reverse Integer
- JPA学习
- 第九篇:装饰者模式
- struts2--3.Ognl与值栈
- KindEditor自动过滤首行缩进和全角空格的解决方法
- 解决从源码编译ncurses6.0编译lib_gen.c报错的问题
- HOOK(钩子)
- [20170305]使用JAVA实现Http多线程下载
- 第十篇:模板方法模式
- POJ3264_Balanced Lineup_线段树维护最大值和最小值
- hadoop集群故障排除(定期更新)
- (51nod)1012
- Linux学习笔记之RedHat Enterprise Linux 6.4 使用 Centos 6 的yum源问题
- jQuery--1省市选择