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