在PowerShell中用Clang编译的C++ .exe无法运行,如何解决?
修复PowerShell无法正常运行.exe文件的问题
常见解决方法
1. 确保编译生成带.exe后缀的可执行文件
Windows环境下,clang编译时如果指定输出文件名不带.exe(比如clang -o hello_world hello_world.cpp),生成的文件可能没有可执行文件后缀,PowerShell无法识别为可执行程序,进而用文本编辑器打开。
- 解决方式:编译时明确指定带
.exe的输出名称:
之后执行:clang -o hello_world.exe hello_world.cpp./hello_world.exe
2. 恢复.exe文件的默认关联
如果.exe文件的默认打开程序被错误设置为文本编辑器,会导致运行时触发编辑而非执行。
- 解决方式:以管理员身份打开PowerShell,执行以下命令恢复默认关联:
执行完成后重启PowerShell,再尝试运行程序。assoc .exe=exefile ftype exefile="%1" %*
3. 调整PowerShell执行策略(若有必要)
如果PowerShell执行策略过于严格,可能限制本地程序运行:
- 先查看当前执行策略:
Get-ExecutionPolicy - 若显示为
Restricted,可调整为RemoteSigned(允许本地程序/脚本执行,远程脚本需签名):
注意:此操作需要管理员权限。Set-ExecutionPolicy RemoteSigned -Force
4. 直接通过cmd调用程序
如果以上方法均无效,可尝试借助cmd.exe来执行程序:
cmd /c .\hello_world.exe
内容的提问来源于stack exchange,提问作者RocketMan89
相关产品推荐
相关产品推荐

