Notifications
Clear all

To all SSC Station occupants

Thank you for the donations over the past year (2024), it is much appreciated. I am still trying to figure out how to migrate the forums to another community software (probably phpbb) but in the meantime I have updated the forum software to the latest version. SSC has been around a while so their is some very long time members here still using the site, thanks for making SSC home and sorry I haven't been as vocal as I should be in the forums I will try to improve my posting frequency.

Thank you again to all of the members that do take the time to donate a little, it helps keep this station functioning on the outer reaches of space.

-D1-

A Guide to Compiling Pioneer (incomplete)

(@s2odan)
Noble Member

It looks like these are the extra packages you will need to compile pioneer:

Libsigc++ ??version?? The compiling guides I have seen say to use version 2.0 but... if you follow the guide you will see ver 2.0 is a dead-end, so go for version 2.2

Freetype 2.4.2

GLEW ??version?? Soucecode??

LibOgg 1.2.0

LibVorbis 1.3.1

SDL 1.2??? perhaps Do we need development libraries or the source code with this one?

See the last post in the thread for current status.

Once I have figured the rest out I will post a guide here.

Im pissing in the wind, in the dark. 😉

Quick tutorial to get to where I am now:

Download all the above files.

Extract all into your pioneer SVN folder next to teh source code (src folder).

We'll start with Freetype. Go to .......\trunk\freetype-2.4.2\builds\win32\vc2008\freetype.sln

Open that, then Build -> Build Freetype

Now look to where the build-log was placed, because chances are that is where the library that you just built is now, or at least close to it.

My Lib file gets placed here: F:\Games\Pioneer Compiling\Pioneer 2nd attempt\trunk\freetype-2.4.2\objs\win32\vc2008

Ok, remember that location but ignore for now.

Now we must also build LibOgg, LibVorb and LibSigc++

So go to libogg/win32/vs2008 and open LibOgg_Static.sln (I think......)

Build that, then your lib is placed here: F:\Games\Pioneer Compiling\Pioneer 2nd attempt\trunk\libogg-1.2.0\win32\VS2008\Win32\Debug

Onto LibVorb ....\Pioneer Compiling\Pioneer 2nd attempt\trunk\libvorbis-1.3.1\win32\VS2008

Basically you want to open Vorbis_static.sln . I think 😉

For the sake of this tutorial we will use vorbis_static.sln

Great.. it fails when you try to compile that one.

Ok to fix that you must 'include' some files from the libOgg file.

Go to F:\Games\Pioneer Compiling\Pioneer 2nd attempt\trunk\libogg-1.2.0\include or whatever its called on your pc.

Copy the address/location in the title bar.

Go back to MSVC9 and choose Tools->Options.

Now on the left, 'Projects and Solutions' then 'VC++ Directories'.

Now on the right under 'show directories for' select 'Include Files'

You must now add that directory that I told you to copy.

It'll look like this now:

...

...

$(WindowsSdkDir)\include

$(FrameworkSDKDir)include

F:\Games\Pioneer Compiling\Pioneer 2nd attempt\trunk\libogg-1.2.0\include

Now rebuild the libvorbis project. It will succeed this time.

Bloody hell this tutorial is getting long 😉 Bear with me hehe

Ok, LibSigc++ now.

trunk\libsigc++-2.0.0\MSVC_Net2003 libsigc++2_msvcNet2003.sln

This file will have to be converted, just click finish and it will do that for you.

It won't build right away, you will have to 'include' some more files.

I have to include this dir:

F:\Games\Pioneer Compiling\Pioneer 2nd attempt\trunk\libsigc++-2.0.0

Now you will find the 'Bug' which I have no way of getting round.

Every tutorial and piece of advice on compiling Pioneer tells you to download libsigc++2.0

However the download is broken and incomplete. And does not contain the correct files. No there is no other download, they like keeping all their eggs in one basket.

You need this file: sigc++config.h

It doesnt exist all there is is this file: sigc++config.h.in

Soooo... only way I have found round this is to use the 'wrong' version of libsigc++.

If we now get version 2.2 from the download and run through the same steps it should work.

I have left the version 2.0 in the guide as this is what I was informed to download.

Also Im just writing the guide as I go, so as I find a problem its also in here.

So now replace the version 2.0 with 2.2.0

Try to build libsigc++ 2.2.0

Hmm another bug.

To fix this you will need to change some code.

Ctrl+F and search for resource.h

you will find: #include "resource.h"

Change it to this: // #include "resource.h"

Below it you will also see #include "afxres.h"

replace that with #include "winresrc.h"

I think... This is a solution I found on my own, so it may in fact be totally wrong.

Now rebuild libsigc++2.2.0 and it should succeed. Hurray 😆 .

You have now built all the required libraries for pioneer, now onto the next stage. 😀

Goto F:\Games\Pioneer Compiling\SVN\trunk\msvc and open pioneer-msvc-9.0.vcproj

Now if you build you will get the error: error C2065: 'SIGSEGV' : undeclared identifier

This latest bug is likely caused by my haphazard attempt to build libsigc++2.2.0 but it doesnt matter we can still get very close to a compile despite this bug.

So search for SIGSEGV in the project.

You will find this:

Code:
void sigsegv_handler(int signum)
{
if (signum == SIGSEGV) {
printf("Segfault! All is lost! Abandon ship!\n");
SDL_Quit();
abort();
}
}

Now comment out that section so it looks like this:

Code:
//void sigsegv_handler(int signum)
//{
// if (signum == SIGSEGV) {
// printf("Segfault! All is lost! Abandon ship!\n");
// SDL_Quit();
// abort();
// }
//}

This will at least allow you to move onto the next problems and add in your libraries and include files.

Rebuild pioneer.

You will get error:

Compiling\Pioneer 2nd attempt\trunk\libsigc++-2.2.0\sigc++/signal_base.h(25) : fatal error C1083: Cannot open include file: 'sigc++config.h': No such file or directory

This error is very easy to fix. Like it says it cannot open the include file sigc++config.h so we just have to add that to 'include files'

Tools->Options->Projects and solutions->VC++Directories-> Showdirectories for Include Files

Find the file that is missing and add its directory into include files. In this case its:

F:\Games\Pioneer Compiling\SVN\trunk\libsigc++-2.2.0\MSVC_Net2003

Rebuild and your onto the next erroragain include the files, thats all pretty easy.

Keep doing that and rebuilding until it asks for library files. Then do the same for them, but instead of 'Include Files' its 'Library Files'

Just keep doing that and eventually it will 'succeed'. However, because of the way I got libsigc to build I dont think it will produce an .exe. You are however very close now, and all that we need to do is go back and build libsigc properly I think...

Please if you know how to fix the current error give us a hand. Thanks

Quote
Topic starter Posted : October 8, 2010 09:14
DarkOne
(@sscadmin)
Illustrious Member Admin

c0mas sent me a PM a few weeks ago and I haven't gotten around to compile Pioneer in Windows yet but he sent me a run down on how to do it. If time permits this weekend I will look into doing this and do some screen captures and a write up on it.

ReplyQuote
Posted : October 8, 2010 09:31
(@s2odan)
Noble Member

Excellent, I hope he sent you a list of links for the libraries as I cant find a couple of them.

Oh if you don't have time, just forward the relevant parts of the PM to me and I can do that.

At the moment, I have an abundance of time 😉

Waiting for new work to start.....

ReplyQuote
Topic starter Posted : October 8, 2010 09:37
DarkOne
(@sscadmin)
Illustrious Member Admin

Sent ya a PM s20dan... have fun and hopefully you can get it working with what I gave ya.

ReplyQuote
Posted : October 8, 2010 10:33
(@s2odan)
Noble Member

Thanks, thats a big help. I think I've got al the required libs now... I'll post here how it comes out.

ReplyQuote
Topic starter Posted : October 8, 2010 11:43
(@s2odan)
Noble Member

** S20Dan begins to rip out all his hair **

MSVC:

Quote:
Cannot open include file: 'sigc++/sigc++.h': No such file or directory

Win7:

Quote:
A filename can't contain any of the following characters /\ etc

I have compiled sigc++.h but it wants sigc++/sigc++.h which I cant make because windows wont allow a / in the filename.

Edit//

**S20dan begins to stick his hair back on **

Im an idiot 🙂

ReplyQuote
Topic starter Posted : October 8, 2010 12:36
 tomm
(@tomm)
Estimable Member
s20dan wrote:
** S20Dan begins to rip out all his hair **

MSVC:

Quote:
Cannot open include file: 'sigc++/sigc++.h': No such file or directory

Win7:

Quote:
A filename can't contain any of the following characters /\ etc

I have compiled sigc++.h but it wants sigc++/sigc++.h which I cant make because windows wont allow a / in the filename.

Anyone know how I change the name that i looks for?

Setting up the MSVC build environment is a pig, isn't it?

Here is what you need to do: after you have built the libraries (sigc++, freetype, etc), you need to tell msvc the location of the .lib file (if one exists), and also the headers:

From the top menu: Tools -> Options

Then in the window that pops up: Projects and Solutions -> VC++ Directories

Then in the dropdown list 'show directories for:', select 'Include Files'.

In my case I then add these two locations:

Z:\win32code\libsigc++

Z:\win32code\libsigc++\MSVC_Net2008

The 2nd one is needed because libsigc++ unhelpfully puts sigc++config.h in a different directory, which the pioneer compile would complain about.

Then in the dropdown list 'show directories for:', select 'Library Files'

and add something like:

Z:\win32code\libsigc++\MSVC_Net2008\Release

And repeat for every library pioneer depends on... this is certainly easier on ubuntu...

ReplyQuote
Posted : October 8, 2010 12:45
(@s2odan)
Noble Member

Thanks, now i'm getting somewhere 🙂

ReplyQuote
Topic starter Posted : October 8, 2010 12:55
(@s2odan)
Noble Member

Posts merged.

ReplyQuote
Topic starter Posted : October 8, 2010 14:23
(@s2odan)
Noble Member

Im quite close, but have now got this error:

..\src\main.cpp(7) : error C2065: 'SIGSEGV' : undeclared identifier

I'm guessing its to do with libsigc++ but not sure...

I commented out the references to 'SIGSEGV' which I'm sure is going to cause other problems but at least allowed me to move onto the next error 🙄

1>pioneer-msvc-9.0 - 0 error(s), 469 warning(s)

========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

It says that it has worked, but ther is no .exe file, which I think is caused by this:

Code:
1>Linking...
1>libvorbisfile.lib(vorbisfile.obj) : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:ICF' specification
1>LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
1>LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library

But I don't know how to fix that now.

The closest thing to an .exe I have is this:

pioneer-msvc-9.0_release.exe.intermediate.manifest

ReplyQuote
Topic starter Posted : October 8, 2010 16:04