tslib1.4编译过程‘__open_missing_mode’ 错误

tslib1.4编译过程

./autogen.shecho "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache# 设置目标机型,缓冲,安装路径./configure --host=arm-linux --cache-file=arm-linux.cache --prefix=/opt/tslibmake# 如果目标路径没有权限,需要加 sudomake install

可能遇到的错误

In file included from /usr/include/fcntl.h:252:0,                 from /usr/include/sys/fcntl.h:1,                 from ts_calibrate.c:20:In function ‘open’,    inlined from ‘main’ at ts_calibrate.c:227:11:/usr/include/bits/fcntl2.h:51:24: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT in second argument needs 3 argumentsIn function ‘open’,    inlined from ‘main’ at ts_calibrate.c:229:11:/usr/include/bits/fcntl2.h:51:24: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT in second argument needs 3 argumentsmake[2]: *** [ts_calibrate.o] Error 1make[2]: Leaving directory `/home/ouyang/Downloads/tslib/tests‘make[1]: *** [all-recursive] Error 1make[1]: Leaving directory `/home/ouyang/Downloads/tslib‘make: *** [all] Error 2

gcc 新版本编译器对语法检查严格,在源文件 ./tests/ts_calibrate.c 中

// 源文件// if ((calfile = getenv("TSLIB_CALIBFILE")) != NULL) {//     cal_fd = open (calfile, O_CREAT | O_RDWR);// } else {//   cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR);// }// 需要更改成如下形式if ((calfile = getenv("TSLIB_CALIBFILE")) != NULL) {    cal_fd = open (calfile, O_CREAT | O_RDWR, 0777);} else {    cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR, 0777);}

保存后重新编译即可

时间: 2024-10-07 13:26:17

tslib1.4编译过程‘__open_missing_mode’ 错误的相关文章

PHP编译过程中常见错误信息的解决方法

PHP编译过程中常见错误信息的解决方 checking for BZip2 support- yes checking for BZip2 in default path- not found configure: error: Please reinstall the BZip2 distribution Fix: yum install bzip2-devel checking for cURL support- yes checking if we should use cURL for

LAMP系列之PHP编译过程中常见错误信息的解决方法

LAMP系列之PHP编译过程中常见错误信息的解决方法 在CentOS编译PHP5的时候有时会遇到以下的一些错误信息,基本上都可以通过yum安装相应的库来解决.以下是具体的一些解决办法: ******************************************************************************* checking for BZip2 support- yes checking  for BZip2 in default path- not foun

编译过程中,termcap.h 文件找不到路径 licli.a终于生成

编译过程中,termcap.h      文件找不到路径 查看是linux  源码下找不到termcap.h文件 安装了所有关于*cap*的源码包也不起作用 今天终于解决了这个问题,搜termcap.h  发现一篇文章,如下 ----------------------------------------------------------------------------------------- 安装minicom2.3出现termcap.h错误解决方法 2010-05-06 17:12:

C程序编译过程浅析【转】

转自:http://blog.csdn.net/koudaidai/article/details/8092647 前几天看了<程序员的自我修养——链接.装载与库>中的第二章“编译和链接”,主要根据其中的内容简单总结一下C程序编译的过程吧. 我现在一般都是用gcc,所以自然以GCC编译hellworld为例,简单总结如下. hello.c源代码如下: ?[Copy to clipboard] C 1 2 3 4 5 6 [c] view plaincopy <span style=&qu

C语言的编译过程、安装gcc编译器以及设置环境变量

以我对C语言编译过程的了解,我用了一点时间画了一个图,提供给大家参考一下,希望有些能对您的问题提上帮助. 前几天刚初步学习了C语言的编译过程,感触挺深的.在C语言中头文件其实起了一个很大的作用. 1.头文件可以不需要编译 2.可以查看具体的声明 3.头文件加上实现文件的o文件提交给使用者即可 ,不需要知道源代码 4..o文件预先编译,所以整个项目编译时,会大大提高编译的时间 . 5.当一个文件(A.c文件)依赖于头文件(b.h)时 ,如果b.c编译之后形成的b.o文件重新编译后,a.o的文件不需

.NET 代码编译过程

作为一种代码指令平台,Microsoft .NET比微软公司先前推出的其他技术平台要来得更为复杂.由于.NET提供了对多种编程语言以及(在理论上说)多重平台的支持,这就需要在传统的两个代 码层添加一个中间代码层.在这里,传统的两层分别是源代码层和编译后的本机代码层.新加的代码层给.NET平台带来了额外的灵活性,不过,反过来却又增加 了系统的复杂性.此外,由于这一新代码层的出现,一连串的新型应用程序部署选项也首次展现在了程序员的面前. .NET之与众不同:MSIL 在Microsoft .NET框

C语言程序编译过程

最近在编译DM8168的ARM端程序时经常出现未定义.重定义等报错,由于源码文件多,包含关系比较多,所以自己添加时容易乱.深深的体会到,好的代码风格是如此重要,之前也在看代码重构,以后应该更加注意代码的质量.经思考总结规律如下: 1.公用的数据结构等写为一个头文件,其他源文件包含此头文件.同时为了让不同源文件里的函数都可以使用,公用的函数可以放在此头文件中声明. 2.其他源文件里声明的变量,如果想在另一个文件里用,需要extern声明,这样可以避免各种全局变量的交互混杂. 理解的比较浅,希望高人

简单了解一下c编译过程

大一的时候,学习c语言,用的是VC6.0.用了1年多,到后来了解了Linux,知道了gcc编译器,开始使用gcc Hello.c -o a.out 这样的命令进行编译.后来又学了gcc的一些其他的命令,不同的命令可以编译出不同的目标代码.现在想想类似于VC这种IDE虽然方便,但是对于具体是怎样的一个过程就不得而知了.作为一个优秀的程序员怎么可以不了解这个过程呢. Gcc/g++ 在执行编译工作的时候,总共4步 1.预处理,生成.i的文件  (预处理器cpp) 2.将预处理后的文件转换成汇编语言,

编译过程学习

通常我们在生成可执行文件时,使用一条gcc命令就可以了.但是这其中包含了以下几个过程. 1.预编译(preprocess) 预编译过程主要是处理源代码中以#开头的预编译指令.如宏的处理,头文件的包含,注释删除,加入行号和文件名标识以使在编译时,编译器产生编译错误和警告时显示行号. gcc -E hello.c -o hello.i 2.编译(compile) 将预处理完的文件进行词法分析,语法分析,语意分析以及优化后产生汇编代码. gcc -S hello.i  -o  hello.s 3.汇编