 |
|  |
 |
|
Keygen
|
|
Athens, Hellas
Jan 2000 time: 07:31
|
|
Suggest a C++ Compiler that should be used as the default one for compiling the source code and any changes made in it.
Please, only post if you are a programmer, professional or amateur, have a knowledge of C++ and have used a C++ Compiler before.
The original code was compiled with Microsoft Visual C++ 6.0. As far as I know it is unknown on what Service Pack, if any.
The trend right know are the Microsoft Visual C++ 6.0 and Visual C++ .NET and in a first look that would seem like the best solution to secure as much compatibility and less problems as possible.
A good idea would be a free compiler also, ANSI compliant, so that future porting to different operating systems be easier, or possible for programmers that don't have access to Microsoft Visual C++ or don't won't to work on it.
Note that we must decide on a common accepted compiler as if we start compiling in different compilers, each one on his/her own, could lead to incompatibilities and additional work and work arounds.
Related threads:
Getting the source to compile
Getting the source to compile on VS.NET
Tools for documentation and development
compiler program
Linux Port
|
|
|  |
 |
|
Solver
|
|
Apolyton Duke Of Something
|
 |
Latvia, Riga
Sep 2000 time: 07:31
|
|
There are two decent options, IMO. One is Visual C++ 6. The big upside is that it's what was originally used for development, and that we have succeeded in compiling the game with it, and getting it to run. .NET does provide some neat stuff, but it seems that a lot of additional work needs to be done to port the source into it. Seeing how Visual C++ .NET costs a lot of money, just like version 6, it's not our priority, I think. This does, though, leave the people with .NET only in a bad state somewhat.
gcc is a good choice. It is, after all, a free compiler, and a pretty decent one. It does even understand some code that might have been written with Visual C++ in mind, code that other compilers wouldn't understand. But again, our coders would have to do a fair amount of work to configure the makefile and figure out how to get the source to compile under gcc.
Provided that porting to gcc can be done within a reasonable timeframe, it could be a very solid option, mainly because of the compiler's availability.
|
|
|  |
 |
|
Keygen
|
|
Athens, Hellas
Jan 2000 time: 07:31
|
|
Please, include a description and the reasoning behind your suggestion, and link(s) to the developer/service, if any.
|
|
|  |
 |
|
Keygen
|
|
Athens, Hellas
Jan 2000 time: 07:31
|
|
In my opinion it should be a priority to decide on a common accepted compiler. How much time it will take is secondary right now as long as it is not off limit. It could save surprises and much more time in the future. Besides the more you work on making the code compile the more you'll get familiar with it.
|
|
|  |
 |
|
MrBaggins
|
|
I'd recommend Visual Studio 6.
1) Because I have it
2) Because I don't need .NET, and don't have any plans to buy it, without a more concrete reason than game debugging
3) Because we know it was used to develop CTP2, plus it works
4) Because time spent porting to other compilers could be time spent working on this.
I don't see why one group of [strike]zealots[/strike] programmers could work on porting it to gcc.. especially with a view to getting it to port to linux. The same goes for VS.Net (although I think this will be an easier task)
|
|
|  |
 |
|
Keygen
|
|
Athens, Hellas
Jan 2000 time: 07:31
|
|
Locutus, anyone is welcomed to make the code compile to as many compilers available out there as possible but when we will actually start fixing the bugs and after that improve the code and add new features as a team we will surely need to use the same compiler. The sooner we start this discussion the better.
|
|
|  |
 |
|
Leland
|
|
I can see two ways to support both systems...
1) Make sure that the code compiles on both gcc and vc++ even though it's a pain. Make official releases in whichever is faster or smaller. Note that the object code produced by one compiler is not compatible with another, so for example dll's cannot be swapped between the two builds.
2) Support only gcc but provide a workspace and a gnu compilation tools so that MS fanboys can use their own IDE. This would be nice, but who's going to do it? Gnu-users usually care little about VC++ and vice versa. And microsoft is not particularly famous for cross-compilation.
|
|
|  |
 |
|
MrBaggins
|
|
OK... someone familiar with gcc and SDL correct me if I'm wrong.
Currently the DirectX stuff works on Visual C++/Net. Its not directly usable under Linux, (I.E. not directly emulated?)
The conversion process for that to SDL isn't instant. Its going to take some significant amount of work, delaying the beginning of real work on fixing it.
The game state is separate from the UI.
Visual Studio users could actually get to work, getting the game state to a proper place.
When the gcc/linux team had gotten to the point of everything running, they could incorporate the changes that had been made on gamestate, and start work on their own.
|
|
|  |
 |
|
Keygen
|
|
Athens, Hellas
Jan 2000 time: 07:31
|
|
Locutus, it is not what I want. I'm not even sure if I get involved with programming the code at all. It is what programmers, that will join the team, want. You want to work on two compilers? If that is functional and will not cause problems in the future that would be fine I guess. I'm quite curious though what will happen when we will actually start adding or making improvements in the code. Or when we'll make a package for download with several files compiled in different compilers.
If the adjustments from compiler to compiler are minor and easy to make we can fix this by assigning a programmer lead who will make the adjustment in the compiler he/she uses in any file contributed and compiled in a different compiler, recompile and pack it ready for download.
Regardless of that please continue suggesting compilers.
Last edited by Keygen on 07-11-2003 at 03:01
|
|
|  |
 |
|
Fromafar
|
|
gcc for Windows
Did start with this one and managed to create some DLLs from the source in the mapgen directory. Haven't tested if these actually work, because I wanted to get an overview first. Without a suitable IDE this will be quite difficult.
|
|
|  |
 |
|
closms
|
|
One thing to keep in mind is that us linux folks are going to get this so g++ can compile it regardless, so perhaps this discussion is a non-issue.
Yes, getting it to compile on g++ will take a lot of work.
Have the windows programmers used cygwin?
http://www.cygwin.com/
If you don't have msdev, check it out. Even if you do have msdev, cygwin has all the tools we have on linux, bash, sed, grep, awk, patch, diff, g++ and make. You can get cvs through the cygwin package system too.
|
|
|  |
 |
|
Keygen
|
|
Athens, Hellas
Jan 2000 time: 07:31
|
|
I thought it was somehow obvious but I guess I made a mistake.
It is natural and inevitable to some point that several people either from Apolyton or from every other place would sooner or later download the code and make their changes to it. I don't suggest to control that or even do anything to limit it. Actually it is more than welcomed.
My intention was toward the team that will be formed here, in these threads and will work together.
Apolyton is the entry point currently for finding the source code and usuful information. Discussions will continue taking place between people interested in modifying the code whether they will be in a team or on their own. And it will remain that way. But on the same time we can, and we should form a team, organize somehow the way it will work and perhaps put some rules as well.
I question myself and everybody here. Wouldn't be better this team to have a primary compiler?
|
|
|  |
 |
|
J Bytheway
|
 |
England
Jul 2001 time: 05:31
|
|
If a single compiler is wanted, then it has to be gcc. It should be possible to make it work under both cygwin and linux compiled from gcc relatively easily once either one of these has been achieved.
Personally, I would rather stick with VC++ 6 for primarily selfish reasons. I have this, and I have the code compiling without any notable problems on it. As Locutus said, the vast majority of changes which are intended to fix/enhance the game will not conflict with changes to expand or alter the compiler options. The notable exception here would probably be interface design, which may not be implemented in such a way to make this easy (due to it using DirectX calls). We should, however, be able to alter things so that it is implemented in a nice way.
What I would really like to do is port the entire game to a more modern language like C# which will compile under the MS .NET compiler (which is available free, and seperate free IDEs are also available (http://www.icsharpcode.net)) or under the Mono compiler in a linux environment (http://go-mono.com). However, this is hopelessly impractical since it would involve rewriting the entire game, and it would probably be better to write a new game inspired by CTP2, which would not be restrained by the EULA. I can still dream, though .
|
|
|  |
 |
|
uppi
|
|
Well, as I dont have windows on my machine, my only options is to try it with gcc. I already got some files compiled, but the problem is, that there quite some sloppy code, accepted by vc++, but not by g++.
I am currently trying to compile civ_main.cpp and i am getting LOTS of errors (I had to double my console buffer so that the first errors can still be seen.
[EDIT] Oh, and by the way, not everything can be made with #ifdef, because some code needs to be moved around, because of circular dependencies.
Last edited by uppi on 07-11-2003 at 21:27
|
|
|  |
 |
|
LDiCesare
|
|
La Ferté sous Jouarre France
Jan 2001 time: 05:31
|
|
I would probably do some debugging if I could get the code to compile on a free compiler (read gcc) under windows. I will definitely never buy MSDev C++ at home, nor .NET.
|
|
|  |
 |
|
kaan
|
|
Aarhus
Mar 2001 time: 05:31
|
|
I would much prefer to use GCC but i will support starting up with VC++ 6 to get things going.
|
|
|  |
 |
|
Keygen
|
|
Athens, Hellas
Jan 2000 time: 07:31
|
|
That is true Pyaray. That is actually the conclusion I tend to come to after I have read all posts here and the progress that has already been done in different compilers. I am currently working on a solution to merge this two, the use of a standard compiler and the use of different compilers.
|
|
|  |
All times are GMT. The time now is 05:31. Apolyton Time is 00:31. |
top of page
|
|
|
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is ON
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|