GiGi - Visual Studio project files for MSVC

Programmers discuss here anything related to FreeOrion programming. Primarily for the developers to discuss.

Moderator: Committer

Message
Author
tbullock
Space Floater
Posts: 23
Joined: Tue Jan 17, 2006 8:50 pm
Location: Calgary, Alberta

GiGi - Visual Studio project files for MSVC

#1 Post by tbullock »

I notice that there are no MSVC project files in subversion for GiGi. Are there any available for the SVN version or no?

Just trying to wrap up my document and this is the last stumbling block.

Thanks!

-Ted Bullock
Nothing in this world can take the place of persistence

Talent will not
Genius will not
Education will not

Persistence and determination alone are omnipotent
The slogan press on has solved and will always solve the problems of the human race

tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

Re: GiGi - Visual Studio project files for MSVC

#2 Post by tzlaine »

tbullock wrote:I notice that there are no MSVC project files in subversion for GiGi. Are there any available for the SVN version or no?

Just trying to wrap up my document and this is the last stumbling block.

Thanks!

-Ted Bullock
There are none, nor do I plan to supply any. SCons is just better.

noelte
Juggernaut
Posts: 872
Joined: Fri Dec 26, 2003 12:42 pm
Location: Germany, Berlin

#3 Post by noelte »

I disagree that SCons is >just< better. If you need a debug environment.... It's only easier for non programmer and those people don't need to build fo or gg.

I already promised Geoff to update the Fo msvc proect files, while doing so i will try to build some for gigi too.
Press any key to continue or any other key to cancel.
Can COWs fly?

tbullock
Space Floater
Posts: 23
Joined: Tue Jan 17, 2006 8:50 pm
Location: Calgary, Alberta

Thanks for all the fish

#4 Post by tbullock »

Writing unit tests and profiling a project for bottlenecks probably cannot be done very effectively (in Windows) outside of an IDE either. Never mind the productivity tools available in typical IDEs these days.

I guess the point is that if somebody were to want to simply build the binaries, then SCons may be superior, but if someone wants to develop in a productive environment, then an IDE (and hence the project files for that IDE) are they way to go. IDEs are more than just syntax highlighting.

noelte, when you have created the project files let me know and I will be able to finish my document.

Thanks !

-Ted Bullock
Nothing in this world can take the place of persistence

Talent will not
Genius will not
Education will not

Persistence and determination alone are omnipotent
The slogan press on has solved and will always solve the problems of the human race

Yoghurt
Programmer
Posts: 376
Joined: Sat Jun 28, 2003 8:17 pm
Location: Heidelberg, Germany

#5 Post by Yoghurt »

SCons can create MSVC project files. I'd propose to create a target "MSVC" that just does that: create a project file from the SCons specification.

This way, we won't have to sync everytime a file is added or removed.

tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

#6 Post by tzlaine »

Yoghurt wrote:SCons can create MSVC project files. I'd propose to create a target "MSVC" that just does that: create a project file from the SCons specification.

This way, we won't have to sync everytime a file is added or removed.
This is already implemented for GG's SCons build system. It doesn't work properly for some recent versions of SCons, due to an SCons bug. I have reported this bug and it's fixed, though I don't know if the fixed version is available for public download. Also, it just creates an essentially empty MSVC project that calls SCons as an external build tool; the files etc. are not actually added to the project.

tbullock
Space Floater
Posts: 23
Joined: Tue Jan 17, 2006 8:50 pm
Location: Calgary, Alberta

#7 Post by tbullock »

Ok, I have it mostly working now. Except, what should I do with the following unknown symbol.

Code: Select all

GG_SHARED_POINTER_EXPORT
I have searched for this symbol throughout the GG code but have failed to find a match.

Please enlighten me!

Thanks so much.

-Ted
Nothing in this world can take the place of persistence

Talent will not
Genius will not
Education will not

Persistence and determination alone are omnipotent
The slogan press on has solved and will always solve the problems of the human race

tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

#8 Post by tzlaine »

You're using the wrong version of GG. You need to get the latest FO code from Subversion, which will also bring with it the latest GG code.

tbullock
Space Floater
Posts: 23
Joined: Tue Jan 17, 2006 8:50 pm
Location: Calgary, Alberta

#9 Post by tbullock »

tzlaine wrote:You're using the wrong version of GG. You need to get the latest FO code from Subversion, which will also bring with it the latest GG code.
I am pulling in revision 1807 on FreeOrion. It is pulling the GG directory along with it, but still I am not finding the aforementioned symbol in files.

Is it specified somewhere inconspicous like a scons file?

-Ted
Nothing in this world can take the place of persistence

Talent will not
Genius will not
Education will not

Persistence and determination alone are omnipotent
The slogan press on has solved and will always solve the problems of the human race

noelte
Juggernaut
Posts: 872
Joined: Fri Dec 26, 2003 12:42 pm
Location: Germany, Berlin

#10 Post by noelte »

@tbullock

Are you really using SVN?? I suggest using visual plugin for explorer. It works just fine.

The are some minor issues which makes it difficult to build GG but with zachs help i managed to build it yesterday. So if you have major trouble you can now ask me too.

Remember cvs is a completely different story.
Last edited by noelte on Tue Mar 07, 2006 2:53 pm, edited 1 time in total.
Press any key to continue or any other key to cancel.
Can COWs fly?

tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

#11 Post by tzlaine »

tbullock wrote:
tzlaine wrote:You're using the wrong version of GG. You need to get the latest FO code from Subversion, which will also bring with it the latest GG code.
I am pulling in revision 1807 on FreeOrion. It is pulling the GG directory along with it, but still I am not finding the aforementioned symbol in files.

Is it specified somewhere inconspicous like a scons file?

-Ted
GG_SHARED_POINTER_EXPORT no longer exists, so of course you won't find it (that's why I mentioned using Subversion, in case you were using the old CVS version or something, which may have had this symbol). Maybe you ned to do a clean rebuild.

tbullock
Space Floater
Posts: 23
Joined: Tue Jan 17, 2006 8:50 pm
Location: Calgary, Alberta

Definitely SVN

#12 Post by tbullock »

I am using Tortoise SVN.

Currently the GG folder (inside FreeOrion root folder) is at revision 529.

The file located at Freeorion/GG/src/Plugin.cpp from line 66 to 84 has numerous references to the unknown symbol GG_SHARED_POINTER_EXPORT

Upon inspection of the SConcript file in GG/src directory, I see a file list

'BrowseInfoWnd.cpp',
'Button.cpp',
'Clr.cpp',
'Control.cpp',
'DrawUtil.cpp',
'DropDownList.cpp',
'DynamicGraphic.cpp',
'Edit.cpp',
'EventPump.cpp',
'Font.cpp',
'GUI.cpp',
'Layout.cpp',
'ListBox.cpp',
'Menu.cpp',
'MultiEdit.cpp',
'PluginInterface.cpp',
'PtRect.cpp',
'Scroll.cpp',
'Slider.cpp',
'StaticGraphic.cpp',
'StyleFactory.cpp',
'TextControl.cpp',
'Texture.cpp',
'Wnd.cpp',
'WndEditor.cpp',
'ZList.cpp'

with the possible addition of '_vsnprintf.c'

So I have excluded the Plugin.cpp file from the build. This removes the references to GG_SHARED_POINTER_EXPORT. I presume that Plugin.cpp is example code that is a little bit out of date.

As a side note, noelte, are you building from SCons or from the IDE? If IDE, which version?

My development machine is being used by someone else right now, but when its free I will see if I can get this working.

Also are there any special preprocessor defintions I need to specify (for Debug and for Release maybe)

Anyways, thanks for the help. I appreciate it. :)

-Ted
Nothing in this world can take the place of persistence

Talent will not
Genius will not
Education will not

Persistence and determination alone are omnipotent
The slogan press on has solved and will always solve the problems of the human race

tbullock
Space Floater
Posts: 23
Joined: Tue Jan 17, 2006 8:50 pm
Location: Calgary, Alberta

Progress

#13 Post by tbullock »

I've made some good progress so far on getting GiGi to build in Visual Studio 2005.

(Actually I have a working copy sitting right in front of me at the moment)

That said, I have quite a bit of code duplication across all the binary files.

noelte, I notice that you submitted a gigi project file into SVN. There are some things I like and don't like about how you have it set up there. (ie. no debug configuration, and a few other things I can't remember at the moment) but if it works, go for it. It did help me out a bit.

Anyways, I am going to backtrack a bit and remove the code duplication from my resulting binary files and we will go from there.

If anybody has questions on how to compile in the IDE, I am available.

-Ted
Nothing in this world can take the place of persistence

Talent will not
Genius will not
Education will not

Persistence and determination alone are omnipotent
The slogan press on has solved and will always solve the problems of the human race

noelte
Juggernaut
Posts: 872
Joined: Fri Dec 26, 2003 12:42 pm
Location: Germany, Berlin

#14 Post by noelte »

noelte, I notice that you submitted a gigi project file into SVN. There are some things I like and don't like about how you have it set up there. (ie. no debug configuration, and a few other things I can't remember at the moment) but if it works, go for it. It did help me out a bit.
It's a first working try. I haven't done any debug testing yet. I simply wanted to give geoff a working build env, otherwise he might have thought i would never do it. ;)
Press any key to continue or any other key to cancel.
Can COWs fly?

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13603
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

#15 Post by Geoff the Medio »

noelte wrote:It's a first working try. I haven't done any debug testing yet. I simply wanted to give geoff a working build env, otherwise he might have thought i would never do it. ;)
Not so much for me as on my urging for anyone downloading the source and wanting to compile in MSVC 2003. I've got a working copy of my own that excludes Serialize.cpp in order to compile.

noelte, did you manage to compile in 2003 with Serialize.cpp, and if so, how?

Post Reply