zoukankan      html  css  js  c++  java
  • 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.1 -c ../include/myutil/net_util.cpp
    ../include/myutil/net_util.cpp:5:21: 错误: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.1 -E ../include/myutil/net_util.cpp >util.i

    使用g++的 -E选项进行预处理(关于-E选项的更多内容,请自行搜索)

    打开util.i,有如下内容:

    # 1 "/usr/include/stropts.h" 1 3 4

    可知在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
    1: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.10-2                          installed
    ImageMagick.x86_64                       6-7                               installed
    cpp.x86_64                               4.1.2-55.el5                      installed
    dal_auto_script.i586                     1-3                               installed
    dal_auto_script_set.i586                 1-3                               installed
    gcc.x86_64                               4.1.2-55.el5                      installed
    gcc-c++.x86_64                           4.1.2-55.el5                      installed
    libgcc.x86_64                            4.1.2-55.el5                      installed
    libstdc++.x86_64                         4.1.2-55.el5                      installed
    libstdc++-devel.x86_64                   4.1.2-55.el5                      installed
    perl_crontab.i586                        1-0                               installed
    public_scripts.i586                      1-8                               installed
    wget.x86_64                              1.12-1.8.el6                      installed

    既然没有,那就安装吧。。。

  • 相关阅读:
    假期训练七(hdu-2845 dp,hdu-1846,2188 巴什博奕)
    假期训练六(poj-1753,递归+hdu-2844,多重背包)
    假期训练五(poj-1077bfs+康拓展开,hdu-2577dp)
    1-10假期训练(hdu-2059 简单dp)
    1-9-假期训练心得(dp+bfs)
    如何在IntelliJ Idea中同时启动不同端口的两个实例
    搭建Springboot监控中心报错A attempt was made to call the method reactor.retry.Retry.retryMax(I)Lreactor/ret)
    使用spring中遇到"java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor"问题
    mvc:annotation-driven的前缀 "mvc"未绑定
    使用Idea构建springmvc框架,出现no bean named 'cacheManager' is defined 错误
  • 原文地址:https://www.cnblogs.com/chutianyao/p/4151215.html
Copyright © 2011-2022 走看看