您的位置:首页 > 编程语言 > C语言/C++

VC++的LNK1102 error out of memory 问题

2016-03-15 12:49 597 查看
前几天把引擎的代码切换到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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: