我在使用 Visual Studio 2008 时遇到了此错误,我在网络上找到了解决方案。但是我找不到如何配置link.exe
.
如何在VS2008
中设置linker.exe
的/expectedoutputsize:600000000
选项?我在Linker
部分的项目属性中搜索了,但找不到这个地方......我在解决方案和Visual Studio选项中进行了搜索。我找到了链接器.exe.config,但我不知道架构。
的问题不是磁盘空间,我有足够的磁盘空间。有什么帮助吗?
必须在Project Settings->Librarian->Command Line->Additional options:
文本框中添加该选项。
很抱歉复活这个旧线程,但我昨天遇到了类似的问题,我的解决方案与我在网上找到的任何东西无关。这是出现的第一个SO帖子,所以我想我会做出贡献,以防有人遇到同样的问题。
以下是我遇到问题的方式:
我最初有一个创建 exe 的项目:
- MyProject.vcxproj -> MyProject.exe
然后,我通过将 main.cpp 拆分为一个单独的.exe项目,将原始项目转换为 .lib 项目。我将 exe 项目的目标名称设置为与 lib 相同,这样我们就不会更改可执行文件名称。我还添加了一个不同的.exe项目,该项目使用该库,但主项目略有不同.cpp
- MyProject.vcxproj -> MyProject.lib
- MyProjectVariant1.vcxproj -> MyProject.exe
- MyProjectVariant2.vcxproj -> MyProjectVariant2.exe
按照我们解决方案目前的布局方式,所有项目都将其目标转储到同一个输出目录中。
问题是 .lib 和 first .exe共享相同的目标名称,因此任何辅助文件(pdb 文件、iobj、ipdb 等)都会被覆盖。MyProject.exe 会在 MyProject.lib 中链接之前覆盖这些辅助文件。
结论:
我通过为第一个变体使用唯一的目标名称来"修复"问题。我们还将审查我们的构建策略,看看我们是否应该为每个项目使用不同的输出目录,而不是将它们全部放在同一个位置。给他们不同的目标目录似乎更合乎逻辑。