- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We've just converted our C++ and fortran projects from VS2008 to VS2010, with the new intel compiler (v12).
However, we're getting some weird errors when linking a C++ DLL to a fortran DLL (i.e., fortran DLL depends on C++ DLL):
1>ipo: error #11018: Cannot open D:\\codebase\\projects\\Common\\../bin/DebugCommon.lib
1>LINK : fatal error LNK1181: cannot open input file 'D:\\codebase\\projects\\Common\\../bin/DebugCommon.lib'
This error only happens when using the solutions' project dependencies. When using only the linker input (additional dependencies) explicitly specifying C++ .lib file, it works fine. We need to use the project dependencies to get the build order right and support parallel builds.
It can't find the c++ lib correctly when I use the project dependencies approach. I saw that someone else was having the same problem http://software.intel.com/en-us/forums/showthread.php?t=78761&p=1&wapkw=(ipo+error+11018)
but i can't use his approach because we have other Visual Studio Solutions (i.e., sln) that reference the fortran project but not the c++ project.
is there another way to do this?
Thanks,
Mallyna
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3.6.2 Adjusting Project Dependencies
If you are converting a project from an earlier version of Visual Studio and had established
Project Dependencies, these are converted to References by Visual Studio 2010. A Fortran
project that is referenced by a C/C++ project will prevent the C/C++ project from building, with
an MSB4075 error. To solve this:
1. Right click on the C/C++ project and select References.
2. If any Fortran project is shown as a reference, click Remove Reference. Repeat this for
all Fortran projects shown as a reference. Click OK.
3. Repeat the above steps for any other C/C++ project
Now you have to reestablish project dependencies.
1. Right click on the C/C++ project and select Project Dependencies.
2. Check the box for each project that is a dependent of this project.
3. Click OK.
4. Repeat the above steps for any other C/C++ project that has dependencies.
Unlike earlier versions of Visual Studio, Visual Studio 2010 does not automatically link in the
output library of dependent projects, so you will need to add those libraries explicitly to the
parent project under Linker > Additional Dependencies. You can use the Visual Studio macros
$(ConfigurationName) and $(PlatformName) as required to qualify the path. For example:
..\FLIB\$(ConfigurationName)\FLIB.lib
Where $(ConfigurationName) will expand to Release or Debug,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I got the link 11018 error when trying to build the fortran project not the c++ project. the solution above is not the solution for my problem. the fortran project is depending on c++ lib and not the other way around. I alreadyhad those c++ libraries explicitly in the fortran project under Linker > Input > Additional Dependencies. but still trying to find the c++ lib in completely different path. If I took out the dependency out from solution project dependency (with the c++ libraries explicitly in the fortran project under Linker > Input > Additional Dependencies), it will not get the error. But we need to work with solution project dependency because we do a parallel build (have solution with more than 100 projects) to improve build time.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(1151,5): warning MSB8012: TargetPath(C:\Users\sblionel\Desktop\Fortran_Calls_C\Clib\Release\Clib.lib) does not match the Library's OutputFile property value (C:\Users\sblionel\Desktop\Fortran_Calls_C\Clib\Release\Test\Clib.lib). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Lib.OutputFile).
When I fix this - and remove the explicit reference to a library in C:\TEMP you added, it works. The fix is to set the C project property "Output Directory" to \Release\Test and to change the Librarian output file to "inherit from project defaults".
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
However, after fixing these there does seem to be a problem here and I will investigate.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We've just converted our C++ and fortran projects from VS2005, Intel 10.1 to VS2010, with the new intel compiler (v12) and am having the same problem.
I assume the problem has not been fixed. Is there a due date for it?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There is not a due date. Some of the problem is on Microsoft's side as they stopped providing dependent project information to other language integrations. It is still open on our end, but we need Microsoft's cooperation to fix it and they don't seem inclined to want to do that. You'll need to manually add the library dependency.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page