运行C代码遇"No such file or directory"错误求助(CS50 hours练习)
排查CS50 "hours"练习中./hours执行报错的问题
针对你遇到的「编译生成了可执行文件,但运行./hours提示No such file or directory」的问题,可按以下步骤排查:
检查可执行文件权限
编译生成的文件可能缺少执行权限,执行ls -l hours查看权限,若权限列没有x标识,执行chmod +x hours赋予执行权限后重试。验证可执行文件完整性
即便能看到hours文件,也可能是编译不完整导致的无效文件。重新编译一次,留意gcc输出的警告或错误:gcc -o hours hours.c -lcs50编译无报错的话,用
file hours查看文件类型,正常应显示类似ELF 64-bit LSB executable, x86-64的可执行文件信息。检查系统架构兼容性
若在WSL、交叉编译环境下操作,可能存在架构不匹配。用uname -m查看当前系统架构,对比file hours输出的架构是否一致,比如系统是arm64但编译出x86-64的程序就会无法运行。排查CS50库依赖
运行ldd hours查看可执行文件的依赖库,若libcs50.so显示not found,说明编译时库路径未正确指定。编译时需用-L参数指定CS50库的安装路径,例如:gcc -o hours hours.c -L/usr/local/lib -lcs50
内容的提问来源于stack exchange,提问作者user22414376
相关产品推荐
相关产品推荐

