linker error: ipo: error #11018

linker error: ipo: error #11018

I have a solution containing many DLL and LIB projects.  All projects are on the same level below the solution file.  There are dependencies of some projects on others.  The LIBs in the project which depend on them are not linked in explicitly as Inputs in the linker, but used via the dependency list.  All the targets were being built in Debug and Release directories off the respective projects.  I want the all to be built in one place, which is bin\Debug- bin is at the same level as the project folders containing the project files.  I am almost done editing all the vfproj / vcxproj files, but have one last issue I cannot overcome:

One vfproj file depends on 2 other projects, flogrouputils and flotils and I am getting the following error:

Linking...
ipo: error #11018: Cannot open D:\Dev\TechRefactoring\Flogrouputils\bin\Debug\flogrouputils.lib
ipo: error #11018: Cannot open D:\Dev\TechRefactoring\Flotils\bin\Debug\flotils.lib
LINK : fatal error LNK1104: cannot open file 'D:\Dev\TechRefactoring\Flogrouputils\bin\Debug\flogrouputils.lib'

It is supposed to be using:
D:\Dev\TechRefactoring\bin\Debug\flogrouputils.lib
D:\Dev\TechRefactoring\bin\Debug\flotils.lib

However nowhere in the vfproj file can I see why it is looking in former directories rather than the latter.  Any ideas?

What is ipo?

8 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.

IPO is Interprocedural Optimization. When you link a program, an Intel pre-linker, xilink, runs first, looking to see if you have compiled any sources with the /Qipo option. If it finds them, it runs a multiobject optimization first, then it runs the linker.

As a first step, please attach a ZIP of the buildlog.htm from the project that did the link. That may give a clue.

Steve - Intel Developer Support

Steve,

Here is the buildlog.htm file

Adrian

Anlagen: 

AnhangGröße
Herunterladen BuildLog_5.rar1.58 KB

Thanks. I see the library explicitly specified on the link line. Note that if this library is the output of one of the dependent projects, it will put that on the link line. Please attach a zip (or rar) of the .vfproj for fgps and for Flogrouputils.

Steve - Intel Developer Support

I see that too, but I didn't put them there, must be the dependency linker option, and it got them wrong.  Here are the project files.

Thanks Adrian

Anlagen: 

AnhangGröße
Herunterladen projs.zip4.01 KB

Could I have the .sln file too?  Thanks.

Steve - Intel Developer Support

Never mind.

I see you set the Output Directory for the C++ projects to:

$(ProjectDir)\..\bin\$(Configuration)\

Try instead:

$(SolutionDir)\bin\$(Configuration)

and see if that works better. I'll do some experiments to see if the embedded .. is the problem.

Steve - Intel Developer Support

Nope didn't make any difference with the change from:

$(ProjectDir)\..\bin\$(Configuration)

to:

$(SolutionDir)\bin\$(Configuration)

Same error messages.  Here's the slb file in case you need it.

Adrian

Anlagen: 

AnhangGröße
Herunterladen sln.zip6.76 KB

Kommentar hinterlassen

Bitte anmelden, um einen Kommentar hinzuzufügen. Sie sind noch nicht Mitglied? Jetzt teilnehmen