Cannot open include file: ‘io.h‘: No such file or directory

在尝试编译CS231n作业的fast_layers.py时,遇到'io.h'、'basetsd.h'和'kernel32.lib'缺失的问题。已经安装了Windows10 SDK和MSVC但仍然报错。首先,尝试通过Visual Studio检查已安装组件,确认它们的存在。接着,添加系统变量'INCLUDE'指向'io.h'和'basetsd.h'的路径,然后添加'LIB'变量指向'kernel32.lib'路径,但这些操作并未完全解决问题。最终,通过不断查找和添加相应的系统变量,成功解决了所有链接错误,使得编译完成无误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景:

在做cs231n的assignment2时,作业提供的fast_layers.py文件提供了CNN卷积层前向传播和反向传播的快速实现,其中用到了Cython模块。


问题描述:

在命令行运行"python setup.py build_ext --inplace"以配置相关环境时报了"Cannot open include file: 'io.h': No such file or directory"的错误。


解决方案

1、根据Cannot open include file: 'io.h': No such file or directory这篇文章的说法,是因为我们缺少了windows 10 SDK和MSVC(微软开发的一个C/C++编译器),需要利用visual studio来安装。

但是通过查看,发现我已经安装了这两个扩展:

打开"visual studio installer":

                   

点击“修改”:                                      

 然后在这个界面可以查看你安装了什么组件:

2、在另一个回答里,说添加一个系统变量,变量名为"INCLUDE",值为windows 10 SDK里io.h文件所在目录,如下图所示。你可以在自己电脑中搜索"urct\\io.h",来查看该路径。

a

 添加完后再运行"python setup.py build_ext --inplace",出现了另一个错误:"Cannot open include file: 'basetsd.h': No such file or directory",同理找到"basetsd.h"(该文件也在windows 10 SDK里)所在目录,添加到刚刚创建的"INCLUDE"系统变量下就可解决该问题。

解决这个问题后,又出现报错:"LINK : fatal error LNK1104: cannot open file 'kernel32.lib'"。继续新建系统变量,变量名为"LIB",值为kernel32.lib文件(该文件也在windows 10 SDK里)所在目录。再次运行,已无报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值