We have a program that compiles fine under 32 bits but when we move to 64 it appears that one of the IPOs generated is incomplete and so we are not able to link.
We noticed that the ipo-1 is incomplete because of the missing IMAGE FILE HEADER.
We have a fairly complicated setup and we bootstraps the linker for technical reasons so that a few references are not available to xilink (i.e.)
ipo-2: warning #11021: unresolved _ XXXXX Referenced in libfx.lib(win32.obj)
ipo-2: warning #11022: unresolved _ XXXXX Referenced in libfx.lib(win32.obj)
ipo-2: warning #11023: unresolved _ XXXXX Referenced in libfx.lib(win32.obj)
We have always had these Intel warnings and our library links correctly without any issues (for both vs2008x32 and vs2012x32)
With vs2008x32 we are using Intel 11 and now on vs2012x32 we are using Intel 16.
On vs2012x32 we have noticed an error message below but it does link successfully without issues.
ipo-2: error #11023: Not all components required for linking are present on command line
We ignored this errors as the two IPOs generated IPOS generated optimised objects for all the objects built with the intel compiler. We assumed that the error is simply missing references but is provided by our boostrap linker and passes to the msvc linker. On the 64bit build we get the same error messages, however this time one of the IPOS doesn't have a complete IMAGE FILE HEADER.
We have also tested 64bit Intel compiler with the flag -Qipo- to disable inter-process optimisation and it works successfully.
Is there any detailed diagnostics flags we could use with ipos as we can not see any other additional warning or error messages?
Unfortunately do to the large setup of the system I am not able to generate a small example. I do not know whether the compiler is mores strict because of the missing references or whether there is some other issues that cause the IPO to be incomplete.
I am trying some other compiler flags to i.e. ipo-separate, but let me know if there is anything else that could be attempted?
I have tried my own suggestion on using ipo-separate and my project compiles successfully and in my test I am happy to share that our library appears 25% faster with the 64bit build.
We have also found that -Qipo