VC++的LNK1102 error out of memory 问题

Posted 潘李亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于VC++的LNK1102 error out of memory 问题的主要内容,如果未能解决你的问题,请参考以下文章

VC6.0程序运行报错error LNK2001,大神求解

VC错误——error LNK1123: failure during conversion

VC++编译错误提示-- error LNK2001: 无法解析的外部符号,望高手解决一下!

vc2008中 fatal error LNK1169: 找到一个或多个多重定义的符号

VC连接mysql数据库错误:libmysql.lib : fatal error LNK1113: invalid machine 解决方法

VC6 LINK : fatal error LNK1168: cannot open Debug/Test.exe for writing