Community
cancel
Showing results for 
Search instead for 
Did you mean: 
69 Views

Why is lib missing?

Hello,

when compiling/linking my project I get the following error:

[bash]Compiling with Intel C++ 11.1.065 [Intel 64]... (Intel C++ Environment) 
main.cpp  
using typeof emulation  
Linking... (Intel C++ Environment)  
ipo: error #11017: Cannot open libboost_serialization-iw-mt-1_44.lib  
xilink: executing 'link'  
LINK : fatal error LNK1104: Datei "libboost_serialization-iw-mt-1_44.lib" kann nicht geffnet werden.  
Build log was saved at "file://C:UsersmwareDocumentsVisual Studio 2008ProjectsMC-Benchmarkparam_spacex64ReleaseBuildLog.htm" 
param_space - 2 error(s), 0 warning(s) 
[/bash]
I am not sure what the problem is, as the boost includes are jut headers - so there shouldn't be any libs required...

I also have no clue where the "libboost_serialization-iw-mt-1_44.lib" comes from.

I am using Visual Studio 2008, I have installed Parallel Studio 2010 and afterwards I have installed the Intel C++ Compiler. Maybe the two Intel compilers are confusing something here...?

Thanks!
Constantin
0 Kudos
6 Replies
_heinz
Beginner
69 Views

Hi Constantin,

If you want to use both compiler on the same machinehave a lookthis thread.
http://software.intel.com/en-us/forums/showthread.php?t=71016&o=d&s=lr
There you find install order and using. It is not necessary to use VM's.
A other solution is to use a cloned OS in a other partition, to install both independent as I have now.
This can you see there: http://lunatics.kwsn.net/2-windows/optimized-sources.msg32085.html#msg32085

Hoping this can help you.
heinz


wcharlot
Beginner
69 Views

You can try doing this:

Here is the installation order:
1. install VS editions
2. install Intel Parallel Studio SP1 (this is latest right now)
3. install the Intel C++ & Visual Fortran Compilers 11.1.054 professional edition for Windows.
* note: when installing the Intel C++ Compiler 11.1.054 for Windows, it will over-write the IDE integration from Intel Parallel Composer with the one from 11.1.054 version. This is OK. You can still change the Intel compiler version from the "Tools -> Options -> Intel C++" to use the "Intel Parallel Composer".
Om_S_Intel
Employee
69 Views

I do not think this compiler problem.

The problem is in your project settings.If you can share your project we will be able to help you better.



Brandon_H_Intel
Employee
69 Views

Hi Constantin,

You're going to need to rebuild your boost library with the Intel compiler (toolset=intel) to get Boost libraries that are compatible with the Intel compiler. Boost's configurations change based on the compiler, so this is why they need to be rebuilt.
wcharlot
Beginner
69 Views

Ok. I agree with you. It must be the project settings.
Brandon_H_Intel
Employee
69 Views

Let me clarify my earlier post just a bit. The file name:

libboost_serialization-iw-mt-1_44.lib

Is a library generated when you build Boost* with the Intel compiler. The "iw" part of the name is the indicator there. If you built with the Microsoft* compiler, the filename generated would be:

libboost_serialization-vc-mt-1_44.lib

When you include Boost* headers in code that then has to link in Boost libraries, Boost's automatic linking will look for the filename based on the compiler you are using. So when you use the Intel compiler to compile your application that is linking to Boost libraries, Boost's headers will configure the auto-link to look for:

libboost_serialization-iw-mt-1_44.lib

And if you've only built the Boost libraries with the Microsoft compiler, you won't have generated that file.