Can a .lib file work for VC++ 6, 7, and 7.1? Or does it only work for the compiler you are compiling with?
I am working on a library for ogre that can only be compiled using VC++ 7.1 (there's no way to get around this), but I'd like you to be able to use the library from any VC++ >=6. None of the interface is VC++ 7.1 specific, but the internals of the library are.
I have a good feeling that you can do this so that it works with everything, but why does Ogre have different dependancy releases for different compilers, and will Ogre 1.0.0 sdk be VC++ version specific?
---
In ~7 days I'm going to post something that'll knock your socks off. Mark your calendar. =)
Can a .lib work for multiple versions of VC++?
- Clay
- OGRE Community Helper

- Posts: 518
- Joined: Wed Mar 17, 2004 4:14 am
- x 1
- Contact:
- monster
- OGRE Community Helper

- Posts: 1098
- Joined: Mon Sep 22, 2003 2:40 am
- Location: Melbourne, Australia
- Contact:
Can a .lib file work for VC++ 6, 7, and 7.1? Or does it only work for the compiler you are compiling with?
I believe they're upwardly compatible, so that one created in VC6 will work in VC7 and VC7.1. One created in VC7 will work in VC7.1 but not in VC6, and one created in VC7.1 might work in VC7, but probably won't work in VC6. If you see what I mean.
There is a reason why there are different dependency releases for the different versions of MSVC, but I can't remember what that reason is! Hang on I'll have a look around.
Oooh! Can't wait!In ~7 days I'm going to post something that'll knock your socks off.
- monster
- OGRE Community Helper

- Posts: 1098
- Joined: Mon Sep 22, 2003 2:40 am
- Location: Melbourne, Australia
- Contact:
Ah, yes, here we are;
http://www.ogre3d.org/phpBB2/viewtopic.php?t=7758
So, nothing to do with library versions. Maybe they will all work nicely together?
http://www.ogre3d.org/phpBB2/viewtopic.php?t=7758
I only need CEGui because the rest of the deps I'm building for VC7.0 will work with VC7.1 too. CEGui won't because it uses STL, and VC7.0 needs to be built with STLport whilst VC7.1 does not, so binaries won't play nice together.
So, nothing to do with library versions. Maybe they will all work nicely together?
- Clay
- OGRE Community Helper

- Posts: 518
- Joined: Wed Mar 17, 2004 4:14 am
- x 1
- Contact:
- sinbad
- OGRE Retired Team Member

- Posts: 19269
- Joined: Sun Oct 06, 2002 11:19 pm
- Location: Guernsey, Channel Islands
- x 67
- Contact:
- Clay
- OGRE Community Helper

- Posts: 518
- Joined: Wed Mar 17, 2004 4:14 am
- x 1
- Contact:
- sinbad
- OGRE Retired Team Member

- Posts: 19269
- Joined: Sun Oct 06, 2002 11:19 pm
- Location: Guernsey, Channel Islands
- x 67
- Contact:
- PeterNewman
- Greenskin
- Posts: 128
- Joined: Mon Jun 21, 2004 2:34 am
- Location: Victoria, Australia
- Contact:
I've also seen name decoration (mangling) change between versions of compilers, especially when updating the compiler (say from VS7 to the 2003 optimizing) and not doing a clean build. But I have no clear evidences.
I dont know if it applies to .LIB, but it definately applies to DLL's that have exports that are not extern "C".
I dont know if it applies to .LIB, but it definately applies to DLL's that have exports that are not extern "C".