You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下VS Code的PowerShell中GCC编译C文件报错及路径优化求助

Windows下GCC编译找不到文件的解决及路径简化方法

一、解决"no such file or directory"错误

  • 先确认文件位置:在当前PowerShell窗口执行 Get-ChildItem(或缩写 gci),查看当前目录下是否存在 LinkedList.c。如果没有,说明文件不在当前工作目录。
  • 切换到文件所在目录:用 cd 文件所在的完整路径,比如文件在 E:\CodingWorkspace\VScodeC\Projects\LinkedList,执行:
    cd E:\CodingWorkspace\VScodeC\Projects\LinkedList
    
    之后再执行编译命令:
    gcc LinkedList.c -o LinkedList.exe
    
  • 直接使用绝对路径编译:如果不想切换目录,直接把文件的完整路径传给gcc,路径包含空格时需加双引号:
    gcc "E:\CodingWorkspace\VScodeC\Projects\LinkedList\LinkedList.c" -o LinkedList.exe
    

二、长路径简化技巧

1. PowerShell别名快速切换目录

给常用长路径创建别名,后续用别名快速跳转:

# 创建别名,MyCWork 可自定义为你偏好的名称
New-Alias -Name MyCWork -Value "E:\CodingWorkspace\VScodeC\very\long\path\to\your\files"
# 之后直接通过别名切换目录
cd MyCWork

注意:该别名仅在当前PowerShell会话生效,重启后会消失。若需永久生效,需将命令添加到PowerShell配置文件($PROFILE)中。

2. 创建目录软链接

用软链接将长路径映射为短路径,终端可直接访问:

# 创建软链接,C:\CWork 是短路径,后面为目标长路径
New-Item -ItemType SymbolicLink -Path "C:\CWork" -Target "E:\CodingWorkspace\VScodeC\very\long\path"
# 之后直接进入短路径操作
cd C:\CWork

3. 使用自定义环境变量

定义环境变量存储长路径,后续通过变量引用:

# 临时生效(当前会话)
$env:C_CODE_PATH = "E:\CodingWorkspace\VScodeC\very\long\path"
# 切换目录
cd $env:C_CODE_PATH

# 若需永久生效,需在系统环境变量中添加,或写入PowerShell配置文件

4. 相对路径引用

如果文件与当前目录存在层级关系,用相对路径替代绝对路径:

  • 文件在当前目录的子目录src中:
    gcc .\src\LinkedList.c -o LinkedList.exe
    
  • 文件在当前目录的上级目录:
    gcc ..\LinkedList.c -o LinkedList.exe
    

三、编译成功后运行程序

编译完成后,在PowerShell中直接执行:

.\LinkedList.exe

内容的提问来源于stack exchange,提问作者Hiểu Nam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 16:42:33