64位系统下,执行pclint检查的问题: Unable to open include file 'stddef.h'

发布于 2022-08-29 23:28:36 字数 1310 浏览 22 评论 0

工作中碰到的一个问题:
项目的编译原来是在32位linux系统上进行编译的,并且是通过wine运行pclint.exe来进行lint检查。
现在要把项目放到docker container中进行编译,因此就变成了64位的系统。我目前使用的container的images是基于docker HUB上的gcc4.8.3制作的,从该镜像的dockerfile看,应该是debian wheezy版本的。在这上面编译没有问题,可以正常进行。但是如果打开lint开关,使得进行lint检查,就会出现如下错误:

# include <stddef.h>
\usr\include\stdio.h  34  Error 322: Unable to open include file 'stddef.h'

查看/usr/include/中确实没有stddef.h文件。google出来的结果中,都是和系统中安装了oracle相关的原因,而我这个里面并没有oracle的内容。
以下是我的系统的一些情况:

jenkins@968e999c2fca:/usr/include/linux$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.8.3/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /usr/src/gcc/configure --disable-multilib --enable-languages=c,c++
Thread model: posix
gcc version 4.8.3 (GCC) 

jenkins@968e999c2fca:/usr/include/linux$ sudo find / -name stddef.h
[sudo] password for jenkins: 
/usr/include/linux/stddef.h
/usr/lib/gcc/x86_64-linux-gnu/4.7/include/stddef.h
/usr/local/lib/gcc/x86_64-unknown-linux-gnu/4.8.3/include/stddef.h
/usr/src/gcc/gcc/ginclude/stddef.h
/usr/src/gcc/libstdc++-v3/include/c_compatibility/stddef.h

PS:在出现这个问题前,还碰到一个找不到/usr/include/bits/predefs.h的问题,在安装了gcc-multilib后就没有了。
请大家帮忙给点指导。谢谢。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

想挽留 2022-09-05 23:28:36

过了五年,问题解决了么?同问...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文