I recently updated to Intel Composer XR Update 9. When I build my (rather large) project I get the following link error:ipo_72885obj.obj : fatal error LNK1318: Unexpected PDB error; RPC (23) '(0x000006BA)'Interestingly, the only project using IPO is the MPEG2 decoder sample from the Integrated Performance Primitives UMC library. Anyone else having this problem?Edited to Add:This is with Visual Studio 2010 SP1.Thanks,Scott
I've got such error when library and executible have different optimization options: One uses IPO and another doesn't use it. Both modules need to have the same setting.
Executable - optimized for Size
- DLL1 - optimized for Size
- DLL2 - optimized for Speed
Dependent Static Libraries:
- LIB1 - optimized for Size
- LIB2 - optimized for Speed
In general,the IPO limitations you've mentionedlook very strange.
The scenario is like this:
. lib1.lib - /Od /Qipo
.dll1.dll or test1.exe- /O2 /Qip, and linking lib1.lib -- this could cause this issue.
The work-around in this case is to remove /Qipo when building the lib1.lib.
Although using /Qipo with /Od does not make sense, but it is a bug in the compiler.
is this the case for you? I'm not sure if this bug is newly introduced.
I'll add this case to the same bug report to see if it can be fixed at the same time.
In this case, adding /Qipo to "test1.exe" can work-around the issue.
The 13.0 is in beta right now, you can sign up the beta from here: http://software.intel.com/en-us/forums/showthread.php?t=104796&o=a&s=lr
It will not be fixed in 12.1. The work-around for 12.1 is to add /Qipo when linking the final .exe.
I have a release library (.lib) built with /Qipo, and when I link it with the application (.exe) built in debug mode without /Qipo (which makes no sense in debug mode) I get the error:
1>ipo_4692obj3.obj : fatal error LNK1318: Unexpected PDB error; RPC (23) '(0x000006BA)'
Note that even though the build is failed the executable is produced and it is working but the $(TargetName).pdb file is invalid / corrupted -- it seems that Intel compiler produces invalid debug records which cause mspdbsrv.exe to crash.
The testcase was with VS2008, and it did fix in that env. When I tried with VS2010, it still fail with 13.0 beta update1.
Let me reopen the issue and get it fixed for VS2010 as well.
I'll update here when it's fixed. the work-around is to use -qnoipo again at link time.