添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

在mingw中成功编译好了boost库后, 使用别人写的机器学习库BMRM( https://github.com/funkey/bmrm ) 编译模型时出现了fatal error: sys/times.h:No such file or directory的错误, 一看,就是sys/times.h这个文件没有...

去mingw的include目录下查看,果然没有times.h这个头文件,只有一个time.h的头文件。 后来在网上查询相关错误, 知道了mingw中本身就没有times.h这个文件, 只有cygwin中有times.h文件。

于是参考WEI_Kun仁兄的方法: http://worldant.blog.sohu.com/83875458.html , 添加times.h到mingw中,并做出一定的配置修改, 具体方法如下:

times.h的实现在libc.a中, 在cygwin的安装包cygwin-1.5.25-5.tar中找到了libc.a文件放在了mingw的lib文件夹中,并将sys/times.h头文件和其他需要的文件如sys/config.h拷贝到mingw安装文件夹中,需要libc.a , sys/times.h 和 sys/config.h三个文件,

另外, 还要进行一下修改,因为mingw在include文件夹中有time.h文件定义了clock_t,所以要将拷贝过来的times.h文件要进行以下修改:

将times.h中下述字样中的宏定义

#include <_ansi.h>
#include <machine/types.h>

#ifndef __clock_t_defined
typedef _CLOCK_T_ clock_t;
#define __clock_t_defined
#endif

#ifndef _CLOCK_T_DEFINED
typedef _CLOCK_T_ clock_t;
#define _CLOCK_T_DEFINED
#endif

编译可以通过了,可以生成BMRM的训练和预测的二进制文件。

另外,为了保证程序的稳定性, 最好还是使用cygwin代替mingw.

在mingw中成功编译好了boost库后, 使用别人写的机器学习库BMRM(https://github.com/funkey/bmrm) 编译模型时出现了fatal error: sys/times.h:No such file or directory的错误, 一看,就是sys/times.h这个文件没有...去mingw的include目录下查看,果然没有times.h这个头文件