1

Visual Studio 2015 无法链接大于 2G 的静态库。

错误是:

找不到 *.lib 文件。

我的问题是:它的设计目的是什么?如果是这样,为什么?

4

1 回答 1

2

32 位工具只能使用 2 GB 的虚拟地址空间(尽管/LARGEADDRESSAWARE从技术上讲,它们在 64 位操作系统上是如此,它们可以获得 3 GB 的虚拟空间)。因此,链接器很可能只是耗尽了如此大的库上的虚拟地址空间。

解决方案是使用 x64 本机工具而不是 32 位工具。

设置环境变量:

set PreferredToolArchitecture=x64

或者编辑您的 vcxproj 以将以下内容添加到您的项目文件中<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

<PropertyGroup>
    <PreferredToolArchitecture>x64</PreferredTool‌​Architecture>
</Prope‌​rtyGroup>

有关32 位与 64 位应用程序中虚拟地址空间限制的详细信息,请参阅赞助功能:RAM、VRAM 和更多 RAM:64 位游戏在这里。

于 2017-06-24T05:37:38.730 回答