I use the 12.1 Build 20111011 compiler (update 7), when I make an speed optimized build I get
ipo: remark #11024: Main entry point was not seen
Ok, its just a remark, butwhat does this mean ?
Did you switch /Qipo on in your speed optimized build? If yes, is your projecta multi-file application where /Qipo only would make sense?Do you have asimple reproducer you could upload?
yes /Qipo is set the target is an dll and it is multi file project, my compiler switches are
/Wall /Wport /Wcheck /Wp64 /FIgiCPWarnRestrictions.h /nologo /Ox /Oi /Oy /QaxSSE2 /Qip /Qipo /Qprec-div- /Qopt-prefetch /fp:source /Qscalar-rep /Gd /GR /c /Qvc10 /arch:IA32 /Qglobal-hoist- /Qms0 /Qrestrict /Qsfalign- /WL /DWIN32_LEAN_AND_MEAN /GF /Zp4 /MD /EHs /EHc
I can try to make it simpler, but this will need a little time.
Just an addition for tests without IPO to see if this helps. Please add also LINKER option /qnoipo (Configuration Properties > Linker > Optimization [Intel C++] > Interprocedural Optimization: No (/qnoipo). The compiler option alone DOES NOT disable interprocedural optimization.
Let me know if this helps.
does your DLL define DllMain? It looks to me it does not and hence the compiler (more precisely: IPO) let's you know.
It's nothing serious just a remark. Knowing the entry point of a DLL would help IPO AFAIK but it's not necessarily needed.
For completeness, there's another related thread here.