centos查看哪些包提供指定头文件
【问题】:项目迁移时,原来在suse上正常的代码在centos上报错:
g++ -g -Wall -fPIC -I../include -I./ -I../src -I/share/comm_ext -I/home/appadmin/workspace/comm/export_include/ -I/home/appadmin/workspace/comm/export_include/c2cplatform -I/home/appadmin/workspace/comm/export_include/app_platform -I/home/appadmin/workspace/comm/export_include/app_platform/2.4. -c ../include/myutil/net_util.cpp
../include/myutil/net_util.cpp::: 错误:stropts.h:没有那个文件或目录
【查找原因】
1. “stropts.h”似乎是系统提供的头文件,那么位于哪个目录下呢?
在suse上使用如下命令:
g++ -g -Wall -fPIC -I../include -I./ -I../src -I/share/comm_ext -I/home/appadmin/workspace/comm/export_include/ -I/home/appadmin/workspace/comm/export_include/c2cplatform -I/home/appadmin/workspace/comm/export_include/app_platform -I/home/appadmin/workspace/comm/export_include/app_platform/2.4. -E ../include/myutil/net_util.cpp >util.i
使用g++的 -E选项进行预处理(关于-E选项的更多内容,请自行搜索)
打开util.i,有如下内容:
# "/usr/include/stropts.h"
可知在suse上该文件位于/usr/include/stropts.h
2. 再centos上查看,确实不存在/usr/include/stropts.h文件:
find /usr -name *stropts.h*
find: “/usr/lib64/audit”: 权限不够
也就是说,centos上的环境确实缺少该头文件
3.既然缺少那就安装。首先需要知道的是,该头文件属于哪个包?
$ yum provides */stropts.h
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
:compat-glibc-headers-2.5-46.2.x86_64 : Header files for development using standard C libraries.
Repo : base
Matched from:
Filename : /usr/lib/x86_64-redhat-linux5E/include/stropts.h
Filename : /usr/lib/x86_64-redhat-linux5E/include/bits/stropts.h
Filename : /usr/lib/x86_64-redhat-linux5E/include/sys/stropts.h
可知compat-glibc-headers-2.5-46.2.x86_64包提供我们需要的头文件,我们只需要安装该包就行了。
4.先确认一下该包有没有被安装过:
$ yum list|grep installed
CollabNetSubversion-client.x86_64 1.8.- installed
ImageMagick.x86_64 - installed
cpp.x86_64 4.1.-.el5 installed
dal_auto_script.i586 - installed
dal_auto_script_set.i586 - installed
gcc.x86_64 4.1.-.el5 installed
gcc-c++.x86_64 4.1.-.el5 installed
libgcc.x86_64 4.1.-.el5 installed
libstdc++.x86_64 4.1.-.el5 installed
libstdc++-devel.x86_64 4.1.-.el5 installed
perl_crontab.i586 - installed
public_scripts.i586 - installed
wget.x86_64 1.12-1.8.el6 installed
既然没有,那就安装吧。。。
centos查看哪些包提供指定头文件的更多相关文章
- gcc指定头文件路径及动态链接库路径
gcc指定头文件路径及动态链接库路径 本文详细介绍了linux 下gcc头文件指定方法,以及搜索路径顺序的问题.另外,还总结了,gcc动态链接的方法以及路径指定,同样也讨论了搜索路径的顺序问题.本 ...
- virtualbox linux客户机中安装增强功能包缺少kernel头文件问题解决
linux客户机中安装增强功能包总会提示缺少kernel头文件 根据发行版的不同,用命令行软件包管理命令安装dkms build-essential linux-headers-$(uname -r) ...
- javah生成带有包名的头文件
无包名情况 多数的demo都是基于这种条件,假设在目录jni/下有一个包含native方法的文件Hello.class.进入jni/目录,直接执行javah Hello,就可以在jni/目录下生成文件 ...
- 替换jar包内指定的文件
用Java jar 工具来替换. ① jar uvf test.jar test.class 把test.class 直接添加到jar包的根目录,也就是替换到根目录文件. ②jar uvf test. ...
- CentOS查看安装包会释放哪些文件
1.查看软件包全称(以mysql为例) rpm -qa | grep -i mysql 2.查看释放出的文件(以MySQL-server-5.5.55-1.el6.x86_64为例) rpm -ql ...
- CentOS查看软件源提供的软件版本命令
yum list available第二列包更详细的说明:yum info packagename
- centos 使用RPM包安装指定版本的docker-engine
下面是拿安装docker-engine-1.10.3-1为例: wget https://yum.dockerproject.org/repo/main/centos/7/Packages/docke ...
- eclipse查看jar包中的class文件出现乱码
参考:http://blog.csdn.net/bell2008/article/details/40978959 1,问题来源是在eclipse中直接查看springside的class(由ecli ...
- 如何指定GCC的默认头文件路径
如何指定GCC的默认头文件路径 网上偶搜得之,以之为宝:)原地址:http://blog.chinaunix.net/u/28781/showart.php?id=401631============ ...
随机推荐
- PHP需要学习成长路径
第一阶段:基础阶段(基础PHP程序员) 重点:把LNMP搞熟练(核心是安装配置基本操作) 目标:能够完成基本的LNMP系统安装,简单配置维护;能够做基本的简单系统的PHP开发;能够在PHP中型系统中支 ...
- [水煮 ASP.NET Web API2 方法论](12-1)创建 OData
问题 怎样用在 Web API 中创建 OData 服务. 解决方案 对于我们来说,在 Web API 中使用 OData最简单的方式就是使用 ASP.NET 模板来创建Odata Controlle ...
- 前端的3D(css3版本)--淘宝造物节3D创景的制作
其实是依托Css3的功劳,先上一个例子 链接: https://pan.baidu.com/s/1cZ-mMI01FHO3u793ZhvF2w 提取码: d3s7代码地址:链接: https://pa ...
- 关于自建yum源拾遗
yum参数解释[updates]--->源name=CentOS-$releasever - Updates --->源的名字baseurl=http://mirror.centos.or ...
- JSTL 1.1与JSTL 1.2之间的区别?如何下载JSTL 1.2?
JSTL 1.1与JSTL 1.2之间的区别?如何下载JSTL 1.2? JSTL 1.2中不要求standard.jar架包 您可以在Maven中央仓库中找到它们: http://repo2.mav ...
- ESLint 使用入门
在团队协作中,为避免低级 Bug.产出风格统一的代码,会预先制定编码规范.使用 Lint 工具和代码风格检测工具,则可以辅助编码规范执行,有效控制代码质量. 在以前的项目中,我们选择 JSHint 和 ...
- php 获取指定月份的开始结束时间
/** * * 获取指定年月的开始和结束时间戳 * * @param int $y 年份 * @param int $m 月份 * @return array(开始时间,结束时间) */ functi ...
- jdk的split 有多坑
先看段 代码: String str = "4117|519951|长信利泰灵活配置混合型证券投资基金|长信利泰|3|3||||156|0||||||||||||||||||||{\&quo ...
- B. Black Square(字符串)
B. Black Square time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- JavaScript中思考do...while 和 while语句的区别
Do...while和while...do的区别在于对于临界值的测试上.当在执行的时候只选择临界值来测试时,你会发现do...while至少要执行一次,而while...do则一次都不会执行.但是,当 ...