Visual Studio 2017调试构建目标exe文件名不匹配问题求助
解决Visual Studio 2017调试模式生成带'D'后缀exe的问题
嘿,我来帮你搞定这个VS2017里的调试文件后缀问题~咱们先理清楚根源:调试(Debug)模式下VS默认会给输出文件加D后缀来区分发布版,你的问题就是调试时程序找错了exe,还有单独运行调试版文件报错,下面是具体的解决步骤:
1. 让调试模式生成无后缀的目标文件
如果想直接让Debug模式输出PDIconsole.exe,可以修改项目的输出配置:
- 右键你的项目 → 选择「属性」
- 在属性窗口左侧,展开「配置属性」→「链接器」→「常规」
- 找到「输出文件」选项,把默认的
$(OutDir)$(TargetName)$(TargetExt)替换成$(OutDir)PDIconsole.exe(直接指定你想要的文件名) - 注意窗口顶部的「配置」下拉框要选「Debug」,确保修改的是调试模式的配置
- 点击「应用」→「确定」,重新生成项目就可以了
2. 让调试器指向带'D'后缀的exe
如果不想改输出文件名,那就调整调试目标路径,让VS调试时找对文件:
- 打开项目属性 →「配置属性」→「调试」
- 找到「命令」选项,把原来的
PDIconsole.exe改成PDIconsoleD.exe - 顺便检查「工作目录」是否正确,一般设为
$(OutDir)就能指向exe所在的文件夹 - 保存配置后,再启动调试就能正常找到文件了
3. 解决直接运行调试版exe报错的问题
单独运行带D后缀的调试版exe报错,大多是因为系统里没装调试版的C/C++运行库:
- VS调试模式默认用的是调试版运行库(比如
vcruntime140d.dll、msvcp140d.dll),这些库不会默认预装在系统里 - 最省心的办法就是直接在VS里启动调试,VS会自动帮你加载需要的调试库
- 如果非要单独运行,可以去VS的安装目录里找到对应的调试库,复制到exe所在文件夹。比如VS2017的调试库路径大概是
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC\14.16.27012\debug_nonredist\x86\Microsoft.VC141.DebugCRT(具体路径根据你的VS版本和位数调整)
最后提一句,调试版带D后缀其实是个很实用的设计,能帮你快速区分调试和发布版本,如果你只是临时需要无后缀文件,改配置就好;长期使用的话,记得保持配置统一哦~
内容的提问来源于stack exchange,提问作者Lokkeren




