为什么Visual Studio会生成这些附加文件?

时间:2013-04-03 20:13:49

标签: c++ visual-studio build compilation

在Visual Studio放置已编译可执行文件的输出目录中,还有三个类型*.exp*.lib.pdb的其他文件。我不需要那些文件,我想阻止编译器创建它们。

这是我的构建输出目录的样子。我只需要*.exe文件。

output directory with unwanted additional files

这些附加文件是什么?如何禁用它们的生成?如果构建过程需要它们,有没有办法在创建可执行文件后自动删除它们?

我正在使用Visual Studio 2012.如果您需要其他详细信息,请发表评论。

3 个答案:

答案 0 :(得分:5)

EXP和LIB文件But I don't want that .lib or .exp file for my COM library!。您可以在“中间输出”设置中设置这些文件的位置,而不是将它们放在发布文件夹中

答案 1 :(得分:0)

有一些函数声明为__declspec(dllexport)。 这意味着它们被导出并且链接器认为需要链接到这个动态库(无论是exe还是dll - 通常结构是相同的)并创建* .lib和* .exp文件

答案 2 :(得分:0)

我假设您希望最终发布目录中仅包含dll和exe文件,而中间目录中保留了* .exp,*。lib,.pdb文件,以免干扰正在使用的目录内。

打开属性(在解决方案资源管理器中右键单击项目): 更改设置,如下所示: enter image description here enter image description here