msvc2010 - 如何建立一个干净的输出目录?

Posted

技术标签:

【中文标题】msvc2010 - 如何建立一个干净的输出目录?【英文标题】:msvc2010 - how to build a clean output directory? 【发布时间】:2011-02-11 15:36:41 【问题描述】:

我在使用 Visual Studio 2010 时遇到问题,因为它现在使我的输出目录在构建时充满了 .pdb 和其他文件。

在以前版本的 msvc 中,我将中间目录设置为输出目录以外的其他目录,并在那里生成 .pdb 文件(以及其他所有内容):$(IntDir)/$(ProjectName).pdb 说。

现在,在新版本的 msvc 中,它似乎仍然在那里构建 .pdb,但由于我不知道的原因,还在我的输出目录中放置了一个 .pdb 文件(我不想要)。如果我设置增量链接,.ilk 文件似乎也会发生同样的事情,但这并不重要,因为我可以禁用增量链接,但 .pdb 对于调试程序至关重要。

我认为这是 msvc 中的一个错误,但我只在 connect.microsoft.com 上找到了这个: http://connect.microsoft.com/VisualStudio/feedback/details/538348/targetpath-bug 这似乎和我一样的问题,但他设置参数的方式这不是一个错误。我的配置完成的方式是一个错误,但在提交之前我想知道是否有人遇到过这个问题以及他们是否找到了修复它的方法(即它真的是一个错误)。

基本上,只需创建一个具有不同中间目录的项目并指定要在其中构建的 pdb。 vs2010好像还在Output目录下创建了一个.pdb。

我想现在我可以添加一个构建后事件来复制可执行文件。

有人遇到同样的问题吗?

你找到解决办法了吗?

现在有没有更好的方法来使用 msvs2010 获得干净的输出目录?

【问题讨论】:

您是否尝试使用Program Database File Name 属性(在“输出文件”页面中)重命名 pdb 文件? 我认为实际上是“链接器”设置的“调试”选项卡上的设置需要更改。 【参考方案1】:

通过设置项目属性似乎不可能。唯一可以完成这项工作的属性是 /FdProgram Database File Name 属性),但它仅适用于与单个 OBJ 文件相关的 PDB。

所以我想留在构建后事件中......

【讨论】:

以上是关于msvc2010 - 如何建立一个干净的输出目录?的主要内容,如果未能解决你的问题,请参考以下文章

如何验证编译时在 msvc 2010 c++ 项目中是不是正确设置了编译器选项?

如何在 MSVC 中使用 ECPG

Qt5 msvc 2010不识别自动(c ++ 11)[重复]

如何干净的实现Android/Java Socket 长连接通信

在 MSVC 2010 命令行中强制 32 位编译

office2003/2007/2010如何卸载干净