vega-vc8 & r12253

Trying to build your own version of Vega Strike and having problems? Unix users, paste your config.log here (stderr output alone is not helpful).
Post Reply
Tc27
Trader
Trader
Posts: 22
Joined: Thu Jan 31, 2008 7:06 pm

vega-vc8 & r12253

Post by Tc27 »

The change in Boost version breaks the VC8 project file from svn. Just changing the include path in the project isn't enough, as it also compiles in various .cpp files that have moved. Easy enough to fix, but might put off newer players trying to compile their own win32.

Also, while it isn't a problem at this time, the ffmpeg files were added to vega-vc7, but not vega-vc8...
ace123
Lead Network Developer
Lead Network Developer
Posts: 2560
Joined: Sun Jan 12, 2003 9:13 am
Location: Palo Alto CA
Contact:

Post by ace123 »

Ugh--this is something I was worried about...

My VM has vc8 installed so I'll see if I can fix the project tomorrow.

I believe all the VC projects depend on 1.31 at the moment but they should all work with 1.35 so hopefully we can move to that.

If this is a one-time compile you can download the source code tarball for the release since not much has changed... but I'll try to get them updated.
Tc27
Trader
Trader
Posts: 22
Joined: Thu Jan 31, 2008 7:06 pm

Post by Tc27 »

One other thing... the move from data4.x to win32/data required retargeting the project's output directory as well.
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Post by safemode »

check the M4 file for boost to get the 2 defines you need to set for 1.35

I'm going to start on cmake-ification soon. Should make maintaining VC projects a thing of the past.
Ed Sweetman endorses this message.
Tc27
Trader
Trader
Posts: 22
Joined: Thu Jan 31, 2008 7:06 pm

Post by Tc27 »

safemode wrote:I'm going to start on cmake-ification soon. Should make maintaining VC projects a thing of the past.
How exactly? Out of curiosity, what will this mean for the end-user who's building via VC at present?
ace123
Lead Network Developer
Lead Network Developer
Posts: 2560
Joined: Sun Jan 12, 2003 9:13 am
Location: Palo Alto CA
Contact:

Post by ace123 »

I have done a simple find and replace... I just committed it so you can test it.

I'm getting a linker error because of a weird "#pragma" statement they put in one of their header files.
The hack/workaround is to go to boost/1_35/boost/config/auto_link.hpp and comment out line 308 (the "#pragma lib ...")

I cannot commit this change because it's in the boost repository as an external--I'll try to figure out a better solution.

I can't guarantee that commenting out the pragma will fix it because Windows takes 10 times as long to compile vegastrike (might be as much as 30 minutes) as Linux takes to compile everything :-p
Hopefully it works for you.

I should also try and make the same changes to VC7.

Also, note that VC8 does not have Ffmpeg support: It probably needs .lib files compiled and I haven't spent the time to get those working.
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Post by safemode »

I assume you tried defining BOOST_AUTOLINK_NO_MANGLE ?


you might want to try this define too

// BOOST_ALL_NO_LIB: Tells the config system not to automatically select.
// which libraries to link against...
// Normally if a compiler supports #pragma lib, then the correct library.
// build variant will be automatically selected and linked against,.
// simply by the act of including one of that library's headers...
// This macro turns that feature off.
// #define BOOST_ALL_NO_LIB
Ed Sweetman endorses this message.
ace123
Lead Network Developer
Lead Network Developer
Posts: 2560
Joined: Sun Jan 12, 2003 9:13 am
Location: Palo Alto CA
Contact:

Post by ace123 »

Autolink_no_mangle just changes the name of the library--I already tried that one.

Cool, I'll try "BOOST_ALL_NO_LIB". Must have missed that one when looking through the headers.
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Post by safemode »

In any case, it's documented that VC8 works with 1.35, so it's just a matter of finding the right define to use, hopefully that one works, otherwise we keep searching.

boost keeps a matrix of compilers and OS's supporting various boost versions.
Ed Sweetman endorses this message.
Post Reply