Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

VS 2015 RC Emitting LNK2001 Errors For C Library Function Names

- - - - -

  • Please log in to reply
2 replies to this topic

#1
NoelC

NoelC

    Software Engineer

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,042 posts
  • Joined 08-April 13
  • OS:Windows 8.1 x64
  • Country: Country Flag
trans.gif?cver=0%0D%0AHi,
 

I have a C++ solution that builds properly in VS 2013.  I've installed VS 2015 RC to figure out what may need to change in order to be able to use the new IDE when it releases.

 

Our code compiles cleanly, but we link to several 3rd party libraries that we have gotten from external sources, and the linker is putting out error messages that imply we're either missing some library that was split off from the standard library, or that maybe the 3rd party libraries have to be built with VS 2015 in order for us to link successfully.

 

The specific errors we're seeing are of the form:

 

ThrdPrtyLib.lib(error.obj) : error LNK2001: unresolved external symbol __iob_func
ThrdPrtyLib.lib(parserInternals.obj) : error LNK2001: unresolved external symbol __iob_func
ThrdPrtyLib.lib(error.obj) : error LNK2001: unresolved external symbol vfprintf
ThrdPrtyLib.lib(error.obj) : error LNK2001: unresolved external symbol vsnprintf
ThrdPrtyLib.lib(xmlstring.obj) : error LNK2001: unresolved external symbol vsnprintf
ThrdPrtyLib.lib(xmlreader.obj) : error LNK2001: unresolved external symbol vsnprintf
LIBCMT.lib(vsnprintf.obj) : error LNK2001: unresolved external symbol vsnprintf
ThrdPrtyLib.lib(cryptlib.obj) : error LNK2001: unresolved external symbol _vsnwprintf
ThrdPrtyLib.lib(cryptlib.obj) : error LNK2001: unresolved external symbol _vsnprintf
LIBCMT.lib(vsnprintf.obj) : error LNK2001: unresolved external symbol _vsnprintf

 

I've done a fair bit of searching on the net for this issue and have gotten a feeling that this isn't a new problem just with 2015 RC but with 2015 in general, and have seen some implication that the latter note I mentioned above (a need to rebuild all the libraries also with VS2015) may be pertinent.

 

Have you any thoughts or workarounds?

 

Thanks in advance.

 

-Noel

 




How to remove advertisement from MSFN

#2
MagicAndre1981

MagicAndre1981

    after Windows 7 GA still Vista lover :)

  • Patrons
  • 6,180 posts
  • Joined 28-August 05
  • OS:Windows 8 x64
  • Country: Country Flag

Donator

ask the developers of the 3rd party libraries for V2015 compatible .lib files.


Posted Image

#3
NoelC

NoelC

    Software Engineer

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,042 posts
  • Joined 08-April 13
  • OS:Windows 8.1 x64
  • Country: Country Flag

That's the simple answer - thanks, Andre.  Chances are we won't get updated libraries until after VS2015 is released, though.  I guess it's unreasonable to hope for full compatibility at the library level (and to be fair, there are only a few errors).  But at least we already have the benefit of the updated compiler and the additional warnings it emits.  It's pickier now about creating local variables with the same names as globals or statics, which I found a couple of instances of.  And there are some changes with regard to using floating point function overloads (e.g., pow and sqrt are now double-only, you have to use powf and sqrtf).  I didn't see anything new turn up from running the code analyzer though.

 

-Noel






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users