By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
449,411 Members | 1,042 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 449,411 IT Pros & Developers. It's quick & easy.

Using VC++ 6.0 libraries

P: n/a
I have a bunch of libraries compiled using VC++ 6.0, and I am trying to
recompile one of our projects using VC++ .NET. I get all kind of linker
errors (specially in STL calls). How do I get rid of these errors??

Anthony
Nov 16 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a
"Anthony Gallagher" <an******@cs.cmu.edu_nospam> wrote:
I have a bunch of libraries compiled using VC++ 6.0, and I am trying to
recompile one of our projects using VC++ .NET. I get all kind of linker
errors (specially in STL calls). How do I get rid of these errors??
Recompile those libs using VC++ .NET.
Anthony


Schobi

--
Sp******@gmx.de is never read
I'm Schobi at suespammers org

"My hair style calls into immediate question all my judgements."
Scott Meyers
(http://www.google.de/groups?selm=MPG...ws.hevanet.com)
Nov 16 '05 #2

P: n/a
Thanks for the response, but you must be kidding. We do not even have the
code to some of these libraries, as we did not develop them. Do you mean to
say Microsoft has broken compatibility with the libraries developed with VC
6.0, there is no way to use them, and we are stuck with VC6.0??

Anthony

"Hendrik Schober" <Sp******@gmx.de> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...
"Anthony Gallagher" <an******@cs.cmu.edu_nospam> wrote:
I have a bunch of libraries compiled using VC++ 6.0, and I am trying to
recompile one of our projects using VC++ .NET. I get all kind of linker
errors (specially in STL calls). How do I get rid of these errors??
Recompile those libs using VC++ .NET.
Anthony


Schobi

--
Sp******@gmx.de is never read
I'm Schobi at suespammers org

"My hair style calls into immediate question all my judgements."
Scott Meyers

(http://www.google.de/groups?selm=MPG...news.hevanet.c
om)

Nov 16 '05 #3

P: n/a
Templates are historically hard to get binary-level compatability with.
Remember, to use a template, you use the source code of the template. So,
if one object model (the VC 6.0 one) is compiled against a template (using
the source code from the VC 6.0 headers), and attempts to link against
another object module (the VC 7.0 one) which was compiled against a
different version of the template (using the source code from the VC 7.0
headers), it's not gonna work. The different object modules are going to
have different definitions for the templates, and those definitions are
going to conflict somehow - one possible conflict would be for it to not be
possible to pass template-derived objects between the two libraries because
of the definition of the class itself is actually different, and another way
would be for the template code in the object module to not be able to link
because it requires some supporting static function that has changed (which
is what you are describing, with linker errors).

In order to maintain backward compat. with the template libraries, Microsof
would have to simply not change them - keep them completely static. Sadly,
that means that other people would be complaining about bugs not being
fixed, the libraries not coming up to be in line with the spec, etc.

You could try linking against the old VC 6.0 version of the STL static
library, to see if it resolves the linker errors. But if you are actually
passing STL-derived classes between your VC 7.0-compiled code and the old VC
6.0-compiled code, you are going to be in trouble (unless somehow not a
single line of code has changed for that particular template, between the
two versions).

--Don

--
This posting is provided "AS IS" with no warranties, and confers no rights.

"Anthony Gallagher" <an******@cs.cmu.edu_nospam> wrote in message
news:uO**************@TK2MSFTNGP10.phx.gbl...
Thanks for the response, but you must be kidding. We do not even have the
code to some of these libraries, as we did not develop them. Do you mean to say Microsoft has broken compatibility with the libraries developed with VC 6.0, there is no way to use them, and we are stuck with VC6.0??

Anthony

"Hendrik Schober" <Sp******@gmx.de> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...
"Anthony Gallagher" <an******@cs.cmu.edu_nospam> wrote:
I have a bunch of libraries compiled using VC++ 6.0, and I am trying to recompile one of our projects using VC++ .NET. I get all kind of linker errors (specially in STL calls). How do I get rid of these errors??
Recompile those libs using VC++ .NET.
Anthony


Schobi

--
Sp******@gmx.de is never read
I'm Schobi at suespammers org

"My hair style calls into immediate question all my judgements."
Scott Meyers

(http://www.google.de/groups?selm=MPG...news.hevanet.c om)


Nov 16 '05 #4

P: n/a
"Anthony Gallagher" <an******@cs.cmu.edu_nospam> wrote:
Thanks for the response, but you must be kidding. We do not even have the
code to some of these libraries, as we did not develop them. Do you mean to
say Microsoft has broken compatibility with the libraries developed with VC
6.0, there is no way to use them, and we are stuck with VC6.0??
AFAIK the new VC is link-compatible with the
old one. However, once you start to pass stuff
around that changes between versions, there's
no way it's gonna work. And the std lib did
change -- for good.
Anthony
[...]


Schobi

--
Sp******@gmx.de is never read
I'm Schobi at suespammers org

"My hair style calls into immediate question all my judgements."
Scott Meyers
(http://www.google.de/groups?selm=MPG...ws.hevanet.com)
Nov 16 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.