Compiling spring (mingw and visual studio 7/8) - Page 5

Compiling spring (mingw and visual studio 7/8)

Discuss the source code and development of Spring Engine in general from a technical point of view. Patches go here too.

Moderator: Moderators

Post Reply
colorblind
Spring Developer
Posts: 374
Joined: 14 Mar 2005, 12:32

Post by colorblind »

Perhaps it could be mentioned in the opening post of this topic that Code::Blocks can import Visual Studio projects, and Dev-C++ can't.
Using Code::Blocks thusly saves some labour of having to define a new project file in Dev-C++.
User avatar
FireCrack
Posts: 676
Joined: 19 Jul 2005, 09:33

Post by FireCrack »

Hmm, the linker is asking for 'libboost_thread-vc80-mt-1_33.lib' though the version i have is 'libboost_thread-vc71-mt-1_33.lib'.

Anyone know where I can get the version I need?
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

recompile boost using VS 8/2005
Sean Mirrsen
Posts: 578
Joined: 19 Aug 2004, 17:38

Post by Sean Mirrsen »

Ok hm... got the code through subversion, got the vclibs, tried to compile, and now the damned thing is asking for boost libs of version 1.33.1, while the vclibs archive has 1.33... wtf? I got the source for 1.33.1 (somehow), any chance that can be used?
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

VC7, VC8 or MinGW?

And yes boost can be recompiled. Refer to the manual to see how.
(it's easier tho to grab the right spring-*libs.exe package)

Oh, and good to see you've been converted to SVN already ;-)
Sean Mirrsen
Posts: 578
Joined: 19 Aug 2004, 17:38

Post by Sean Mirrsen »

I'm working with VC2003 (which is 7.1 I believe). And I got the vclibs package, as I said, but it contained the 1.33 boost libraries, and the linker is asking for 1.33.1. Renaming didn't work. :)

Hm. Was looking through the code right now (even though it doesn't compile) and noticed something. You check whether the shield bounces the projectile or not, and if not, you do not check for visibleshieldrepulse - while I'd like the shield to show an effect when hit by a projectile. It's not that hard to fix, nor is it critical, but it annoys me, and in my situation I can't fix it!..
patmo98
Posts: 188
Joined: 09 Jan 2006, 17:51

Post by patmo98 »

Sean Mirrsen wrote:I'm working with VC2003 (which is 7.1 I believe). And I got the vclibs package, as I said, but it contained the 1.33 boost libraries, and the linker is asking for 1.33.1. Renaming didn't work. :)
I don't use VC 2003, but you could try to compile boost yourself. First you should know that you will need to build if from the command-line. Yo need need to compile boost-jam, which is the build tool for boost. I think that this is close to what yoiu need to do.

1.) Extract boost-jam.
2.) Make sure you have the platform SDK
3.) open a command prompt.
4.) execute something like this. You will need to change the first line.

"C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat"

"C:\Program Files\Microsoft Platform SDK\SetEnv.Cmd"

"C:\Program Files\Microsoft DirectX SDK (December 2005)\Utilities\Bin\dx_setenv.cmd"

5.) change to the boost-jam directory
6.) run build.bat
7.) move bin.ntx86\bjam.exe (the ile you just built into the main boost directory
8.) Make sure you have at least 2.5GBs of space on your HD.
8.) Then run the final build command. Only run one of these.

bjam "-sTOOLS=vc7" stage
bjam "-sTOOLS=vc-7_1" stage
bjam "-sTOOLS=vc-8_0" stage


If all else fails, you could get VC 8, aud use the prebuild boost lib for VS8.
Sean Mirrsen
Posts: 578
Joined: 19 Aug 2004, 17:38

Post by Sean Mirrsen »

Presuming I DO get VC8 (which is 2005), where do I get the prebuilt libs of boost for it?

edit: Ok, I've built the boost... Spring compiled, strangely enough, but the problem is I can't find the one thing it was supposed to produce - the EXE... Anything else I was supposed to do/know?
User avatar
ILMTitan
Spring Developer
Posts: 410
Joined: 13 Nov 2004, 08:35

Post by ILMTitan »

root(or whatever)/game/Spring.exe
Sean Mirrsen
Posts: 578
Joined: 19 Aug 2004, 17:38

Post by Sean Mirrsen »

Heh, found it by myself I have. Had to waddle through project settings. :)

One more question, I presume that "update repository from local copy" isn't the way to submit changes, I have to use "create patch" for that and upload it to berlios, right?
User avatar
Tim Blokdijk
Posts: 1242
Joined: 29 May 2005, 11:18

Post by Tim Blokdijk »

Sean Mirrsen
Posts: 578
Joined: 19 Aug 2004, 17:38

Post by Sean Mirrsen »

I suppose this question should go here. In archivescanner.cpp there's a certain "S_ISDIR" that the compiler doesn't like. Any chance that could be replaced?
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

Hm, I added that. I'll google a bit to find out if it's called something else / needs another #include with VC...
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

fixed in SVN
Sean Mirrsen
Posts: 578
Joined: 19 Aug 2004, 17:38

Post by Sean Mirrsen »

Um.. ok, now the linker doesn't like it:

Code: Select all

rts error LNK2019: unresolved external symbol "public: __thiscall CArchiveDir::CArchiveDir(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0CArchiveDir@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function "public: static class CArchiveBase * __cdecl CArchiveFactory::OpenArchive(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?OpenArchive@CArchiveFactory@@SAPAVCArchiveBase@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

add rts/System/Filesystem/ArchiveDir.cpp to the project file
Sean Mirrsen
Posts: 578
Joined: 19 Aug 2004, 17:38

Post by Sean Mirrsen »

Ok, works now. Thanks. :)
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Post by smoth »

Using msvc 2003, this is really my first time fooling with this. I got the files of the svn and the vclibs extracted into my svn directory I am using for my trunk..

I get a cannot open input file SDL.lib... what have I missed?
Sean Mirrsen
Posts: 578
Joined: 19 Aug 2004, 17:38

Post by Sean Mirrsen »

Perhaps the fact you have to extract vclibs to a "vclibs" folder just like I forgot to?
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

Actually

VCLibs.exe packages SDL1.2.9 BUT the project file references a folder named SDL 1.2.8.

You need to change the include and library addition dependencies to match the change.
Post Reply

Return to “Engine”