|
Re: How to setup a Visual Studio 2010 SSGM plugin? [message #449421 is a reply to message #449420] |
Mon, 04 July 2011 15:38 |
iRANian
Messages: 4308 Registered: April 2011
Karma: 0
|
General (4 Stars) |
|
|
Hmm, are you getting compilation errors or does the FDS crash when you run them? If it's the second it means you need to recompile SSGM and all your plugins under VS2010, it's because SSGM was compiled with an earlier version of VS and they include different standard library files that can conflict with each other.
Long time and well respected Renegade community member, programmer, modder and tester.
Scripts 4.0 private beta tester since May 2011.
My Renegade server plugins releases
|
|
|
|
|
|
|
|
|
|
|
|
Re: How to setup a Visual Studio 2010 SSGM plugin? [message #449530 is a reply to message #449420] |
Sat, 09 July 2011 13:19 |
|
saberhawk
Messages: 1068 Registered: January 2006 Location: ::1
Karma: 0
|
General (1 Star) |
|
|
I don't have a VS2010 plugin solution handy, but I do have some knowledge about the problem. The SSGM built off scripts 3.x uses std:: classes in the plugin interface. The problem with that is that said classes aren't guaranteed to stay the same between different compiler versions. When you write code that uses them and it's only for "internal" code (ie not a public plugin interface you expect other people to write plugins with) and you make sure to compile everything using the same compiler version, it's fine. This is known as the "fragile binary interface problem". If you compile everything (SSGM and every plugin you use) with VS2010, the problem is avoided.
|
|
|
|
|
Re: How to setup a Visual Studio 2010 SSGM plugin? [message #449549 is a reply to message #449538] |
Sun, 10 July 2011 12:01 |
|
saberhawk
Messages: 1068 Registered: January 2006 Location: ::1
Karma: 0
|
General (1 Star) |
|
|
halo2pac wrote on Sat, 09 July 2011 22:37 |
saberhawk wrote on Sat, 09 July 2011 16:19 | I don't have a VS2010 plugin solution handy, but I do have some knowledge about the problem. The SSGM built off scripts 3.x uses std:: classes in the plugin interface. The problem with that is that said classes aren't guaranteed to stay the same between different compiler versions. When you write code that uses them and it's only for "internal" code (ie not a public plugin interface you expect other people to write plugins with) and you make sure to compile everything using the same compiler version, it's fine. This is known as the "fragile binary interface problem". If you compile everything (SSGM and every plugin you use) with VS2010, the problem is avoided.
|
So the SSGm built on 2005/8 will not work with a plugin built off 2010?
Will scripts 4 have an SSGm + plugins in vs 2010?
|
Nope, it won't. SSGM compiled with VS2005 needs plugins with compiled VS2005, SSGM compiled with VS2008 needs plugins compiled with VS2008, etc. The same issue can even apply with updates released for VS because the standard library can change.
4.0 has a new SSGM that doesn't suffer from this problem because it doesn't use std::* in the plugin interface, but plugins will need to be updated to support the new interface.
|
|
|
|