如题,我在开发一个与求解大型稀疏矩阵有关的项目时需要用一个第三方软件包,即metis(用来实现图划分,原软件包的下载地址见提取码:cno5),而我这个项目的主要开发环境是win10+clion+cmake-3.24+mingw-gcc-6.4.0-x64,这个软件包相对比较老,需要重新在本地编译一遍才能使用,结果编译时就出现了一个奇怪的错误,说是缺少一个叫resource.h的文件。我搜了网上的一些解决方案,发现可能早期的cygwin中有这个文件,并且有个博主尝试了把cygwin中的同名文件移植到mingw中可以成功运行(详情见原问题链接),可惜原博主没有把关键文件分享出来,只能询问万能的网友了。
希望能有网友帮我解决这个软件包的问题,提供关键文件并完成软件包的编译,最终能达到原问题链接中的效果就行了。
不知道你怎么弄的,我编译了一下是可以的!
链接: https://pan.baidu.com/s/1S1VPo_RZX0l6bP1BO22YrQ 提取码: tb3w 复制这段内容后打开百度网盘手机App,操作更方便哦
METIS\bin\libmetis\libmetis.a
<sys/resource.h> 文件是 POSIX 标准库中的一个文件,它定义了用于操作系统资源的一些函数和数据类型。在 Windows 系统中,该文件并不存在,因此在 Windows 下使用该文件会导致编译错误。
对于你遇到的问题,有几种解决方案可以考虑:
使用 Cygwin 或者 MinGW-w64 作为编译环境。这些编译器提供了 <sys/resource.h> 文件,并且可以在 Windows 下运行。
修改 Metis 的源代码,使之不再依赖 <sys/resource.h> 文件。这可能需要改变 Metis 的一些实现方式,如果不熟悉 Metis 的源代码可能会比较困难。
替换或者忽略 <sys/resource.h> 文件。 可以在 Metis 源代码中找到所有包含 <sys/resource.h> 的文件,然后替换或者删除对该文件的引用。这可能导致 Metis 的一些功能无法使用,需要进行一定的更改。
我建议第一种解决方案,因为这样能保证程序的正常运行.
fatal error: sys/resource.h: No such file or directory
致命错误:sys/resource.h:没有这样的文件或目录
思路:
1、 resource.h根本不存在;
2、resource.h不在指定的路径中或当前目录;
3、路径中有空格或者中文名都有可能造成某些编译器根本不能正确识别路径.
编译后是在linux里用还是windows?