Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28446 Discussions

Error LNK2005 already defined on updating C++/Fortran solution to VS 2013

Jake_G_
Beginner
666 Views

I am trying to update a working C++ and Fortran solution from Visual Studio 2010 to 2013. When updated, the Win64 platform builds regularly but Win32 gives the following errors:

error LNK2005: __CIpow already defined in libmmt.lib(pow_stub.obj)  
error LNK2005: _pow already defined in libmmt.lib(pow_stub.obj)  
fatal error LNK1169: one or more multiply defined symbols found 

Using Visual Studio 2010 the project builds on both Win32 and Win64 perfectly. Only after updating to VS 2013 does the Win32 give errors.

I have no idea of what I can do to fix this. Any help is much appreciated.

0 Kudos
1 Reply
mecej4
Honored Contributor III
666 Views

If you had showed where the linker reported finding the routines first (one of the VC or Intel libraries, probably libmmd.lib) we would have a clue to how duplicate symbols were encountered. Such problems are usually caused by explicitly specifying libraries, which get added to the list of libraries implicitly used by the compiler driver.

0 Kudos
Reply