bufferoverflowu.lib link error

bufferoverflowu.lib link error

I have a team of 4 working on several different Fortran projects in a code repository. I can successfully build all of the projects. My coworkers cannot. They each get a link error that says "Cannot open bufferoverflowu.lib." A quick search of the internet shows that this used to be an issue when mixing versions of visual studio because bufferoverflowu was removed from the windows SDK. Each one of the projects has only ever been compiled with Intel Composer XE 2013 Update 3 using the visual studio 2010 shell. When I view the verbose linker output everything looks identical, except their machines have the line "Processing DEFAULTLIB:bufferoverflowu.lib." If we change our project files to ignore this library, everything builds fine. What could be causing this? I am completely puzzled. Are there some compiler options that would force this to be included by the linker? An environment variable? How is DEFAULTLIB set? Unfortunately, I can't post any logs or files, so I understand if no one can help. Thanks.
 

 

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

You'll get a reference to bufferoverflowu.lib if you are linking in sources that were compiled using VS2005.  In this context, "DEFAULTLIB" is a linker directive embedded in the object code. You can add your own with !DEC OBJCOMMENT LIB:"library-name", but the compiler adds these on its own to reference default libraries. 

Steve - Intel Developer Support

Steve,

As always, thank you for your quick reply.

Does this explain why building the same code from the same project files in the repository links differently? We all use local copies of licensed software (i.e. the compiler) so I must have a different version of an object file somewhere in my local build tools. Also, If this linker directive were embedded in the object code, I would expect the build to fail if we ignored it in our build options. I must be wrong about this.

I would not expect the build to fail because the MSVC libraries after VS2005 include the symbols defined in bufferoverflowu.lib. Yes, you must be using an object that hasn't been recompiled. I'd try using a file search tool such as AgentRansack to search all the objects and libraries for "bufferoverflowu.lib" and see where it is coming from.

Steve - Intel Developer Support

Leave a Comment

Please sign in to add a comment. Not a member? Join today