Visual Studio 2015/2017标准用户权限下编译Visual C++项目时工具路径识别错误求助
Visual Studio 2015/2017标准用户权限下编译Visual C++项目时工具路径识别错误求助
我之前也碰到过类似的权限相关工具路径识别问题,给你几个排查和解决的方向试试:
检查VS环境变量初始化脚本的运行情况
用标准用户身份打开命令提示符,手动执行VS对应的环境配置脚本:- 针对VS2015 Express:
"%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat" - 针对VS2017 Express:
"%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Express\Common7\Tools\VsDevCmd.bat"
执行完成后输入cl命令测试,如果能正常识别,说明你的项目构建脚本可能没正确调用这个初始化脚本,或者调用时没有加载完整的环境变量;如果执行脚本时出错,建议检查VS安装目录下Common7\Tools文件夹的读取权限,确认标准用户有访问该目录及文件的权限。
- 针对VS2015 Express:
修复Visual Studio安装
有时候默认安装过程中,部分组件的注册或文件部署可能因为权限问题不完整。你可以在控制面板找到对应的VS版本,选择「修改/修复」选项(修复时可能需要临时用管理员身份),完成修复后再用标准用户身份测试编译,看是否解决问题。排查构建脚本的路径获取逻辑
错误提示核心是「无法确定VS Common Tools文件夹」,说明生成Dymosim的构建脚本在定位VS工具路径时,可能依赖了需要管理员权限才能访问的资源(比如HKLM注册表项)。你可以检查脚本的实现:- 尝试替换成VS官方推荐的路径获取工具,比如VS2017及以后自带的
vswhere.exe,它能在标准用户权限下正确识别VS安装路径; - 如果脚本是硬编码路径或者读取受限的注册表项,改成读取HKCU下的配置,或者手动指定Common Tools文件夹的绝对路径(比如VS2015的默认路径是
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools)。
- 尝试替换成VS官方推荐的路径获取工具,比如VS2017及以后自带的
检查标准用户的PATH环境变量
确认标准用户的系统PATH中是否包含VS编译器的bin目录,比如VS2015的32位编译器路径是%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\Tools\MSVC\14.0.25420\bin\Hostx86\x86(版本号可能不同)。不过更推荐用VS的初始化脚本配置环境,避免版本变更导致路径失效。
备注:内容来源于stack exchange,提问作者Carl_Allen96
相关产品推荐
相关产品推荐

