VC++的LNK1102 error out of memory 问题

前几天把引擎的代码切换到VS2015下来了。光试了试X86的编译。

今天因为内存问题试了试X64。发现竟然链接不过。一链接就报告

LNK1102 error  out of memory

或者就死在链接的时候不动了。


尝试多种配置均不行。最后发现MS竟然默认是使用x86 cross tool来编译x64的代码的。

而且IDE里没找到配置修改成x64 native compiler的地方。


具体做法是打开vcxproj文件。在Globals的ItemGroup里加一条:

<PreferredToolArchitecture>x64</PreferredToolArchitecture>


改完看上去应该是这样的

  <PropertyGroup Label="Globals">
    <ProjectGuid>{FB492A4E-5E87-4845-931F-0B97E4EDEF87}</ProjectGuid>
    <RootNamespace>SystemManager</RootNamespace>
    <Keyword>Win32Proj</Keyword>
    <ProjectName>xEvol3D</ProjectName>
    <SccProjectName>Svn</SccProjectName>
    <SccAuxPath>Svn</SccAuxPath>
    <SccLocalPath>Svn</SccLocalPath>
    <SccProvider>SubversionScc</SccProvider>
    <PreferredToolArchitecture>x64</PreferredToolArchitecture>
    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
  </PropertyGroup>


如果你使用CMD Line的话。

参考这篇文章

https://msdn.microsoft.com/library/x4d2c09s.aspx


我是在这里找到的。

https://support.microsoft.com/zh-cn/kb/2891057

没有更多推荐了,返回首页