Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
7779 Discussions

xilink: error #10014: problem during multi-file optimization compilation (code 1)


When I am building  a release evrsion of a dll using Intel C++ Compiler 2013 Update 1, I see the following error:

The command:
xilink.exe @objects\Vision\win32U\i386\icc13\release\responseFile-4BtDUmWz

Returned a non-zero status of 1

And produced this output:

Fatal compilation error: Out of memory asking for 2097160.
xilink: error #10014: problem during multi-file optimization compilation (code 1)
xilink: error #10014: problem during multi-file optimization compilation (code 1)

I looked into the various forums and found that disabling IPO is one of the solutions. One thing to be noted is that I have not passed in IPO flag to the compiler. 

There are couple of questions:

1. Is IPO by default  enabled by intel even if we do not pass the flag explicitly?

2. Is IPO is the reason for this linker error, how do I explicitly disable IPO flag from being passed?

One of the important things to be noted here is that this failure is not seen while building debug version of the dll. Also I remember compilation succeeding for release evrsion in the older build of Intel 2013 ( prior to update 1). 

Any help would be much appreciated.

0 Kudos
2 Replies
Black Belt

As I understand it, recent Intel Windows compilers have ipo enabled by default for release mode; you must turn it off explicitly (/Qipo- or project property) if you don't want it.  Even then, xilink will look by default for ipo objects, but that shouldn't produce an out of memory.  I suppose big compile jobs are tested more thoroughly in Intel64 mode, while you may be in ia32 mode.


TimP is right. the "/Qipo" is on by default in the "Release" config. You can turn it off or use /Qip. To turn it off under linker, use "/qipo-" (small q).

But you do want to use /Qipo, or the project built ok before, please submit a ticket to the Premier Support ( We will need a testcase for it though. It may not be a bug.