Difference between revisions of "User:Backslash"

From FreeSpace Wiki
Jump to: navigation, search
 
Line 1: Line 1:
 
As I figure out the whole wiki making thing, I'm going to write things temporarily on my page.
 
As I figure out the whole wiki making thing, I'm going to write things temporarily on my page.
  
I'm going to write some notes on compiling fs2_open for Windows with Visual Studio 2003.  Hopefully this will be useful for other people with similar problems, or those who always wanted to try but couldn't figure it out.
+
I'm going to write some notes on compiling fs2_open for Windows with Visual Studio 2003 and/or 2005.  Hopefully this will be useful for other people with similar problems, or those who always wanted to try but couldn't figure it out.
  
 
It's less complicated than it sounds once you've got everything together :-P
 
It's less complicated than it sounds once you've got everything together :-P
  
Yeah, I know, this version is not so widely used.  Well I don't have 2005 yet.  Some of my problems were because 2003 isn't used by anyone else (or updated).
+
I did 2003 first and it was easier.  Yeah, I know, this version is not so widely used.  Well I don't have a full version of 2005, just the Express Edition.
  
At this point, almost all of the needed libraries and stuff are included in the CVS checkout.  This is convenient for us Windows users (but a bit silly for everyone else).  All you need is the Platform SDK, and even that I'm not sure you need all of any more.
+
At this point, almost all of the needed libraries and stuff are included in the CVS checkout.  This is convenient for us Windows users (but a bit silly for everyone else).  All you need is the Platform SDK, and maybe the DirectX SDK (but that I'm not sure you need all of any more).
  
 
Once you download the CVS (pending article), open the projects folder.  There you'll find a MSVC_2003 folder, which has a lot of what we need, but the project hasn't been updated in some time.  I'm hoping to get this fixed.
 
Once you download the CVS (pending article), open the projects folder.  There you'll find a MSVC_2003 folder, which has a lot of what we need, but the project hasn't been updated in some time.  I'm hoping to get this fixed.
  
Open the solution.   
+
For now, the solution is to copy the project files from another project folder, such as MSVC_6.  Then open the workspaceIf you're using 2003, it works right away after a wizarded conversion.  Awesome.
  
For now, the solution is to copy the project files from another project folder, such as MSVC_7.
+
 
 +
Now for Visual C++ 2005 Express Edition:
 +
 
 +
I dunno if this is the "right" way -- the way I did the dependencies might end up requiring anyone else to whom you give a compiled build needing some extra DLLs.  but eh, it works for me.  (Corrections welcome, please!)  I think it's gotten easier with some changes they made in the May 15 version of the MSVC_6, so what I did was:
 +
 
 +
*  make sure my Tools->Options->Projects and Solutions->VC++ Directories properly points to where I have my Platform SDK and DirectX SDK (do this for Include files and Library files at least)
 +
*  erase what's in the MSVC_2005 folder
 +
copy the contents of MSVC_6 to MSVC_2005
 +
*  open the Freespace2.dsw and go through the default conversion steps
 +
*  switch to Release configuration
 +
*  in Properties of the Freespace2 project, go to Linker, inside it: Input.
 +
*  add to Ignore Specific Library: libci.lib
 +
*  added to Additional Dependencies:  ole32.lib advapi32.lib gdi32.lib user32.lib
 +
 
 +
  And hopefully that should do it.  oh there might be some complaints about an undeclared i variable inside a for loop... change "for (i=0 "... to "for (int i=0 "... but you should be familiar with this sort of thing.
 +
  Ideally, I can later replace the project in the folder on CVS, if it works for more than just me :D
 +
 
 +
optional (speeds compiling up)
 +
*  in Properties of the Freespace2 project, go to C/C++
 +
*  inside Browse Information, change Enable Browse Information to None.  Do this for all the projects: Freespace2, code, Fred2.
 +
*  inside Code Generation, Enable Minimal Rebuild.
 +
extra optional (just in case, try compiling first... later mess with this stuff.  and do it to Release not Debug)
 +
*  inside Optimization, tweak as you like.  I turned on a bunch of optimizations, including 'Optimize For Processor' to Pentium 4 and above (/G7).
 +
*  inside Code Generation, experiment with 'Enable Enhanced Instruction Set' depending on your processor.  [me, I have an Athlon XP, which supports SSE but actually runs faster without it if /G7 is on.]

Revision as of 00:08, 21 May 2006

As I figure out the whole wiki making thing, I'm going to write things temporarily on my page.

I'm going to write some notes on compiling fs2_open for Windows with Visual Studio 2003 and/or 2005. Hopefully this will be useful for other people with similar problems, or those who always wanted to try but couldn't figure it out.

It's less complicated than it sounds once you've got everything together :-P

I did 2003 first and it was easier. Yeah, I know, this version is not so widely used. Well I don't have a full version of 2005, just the Express Edition.

At this point, almost all of the needed libraries and stuff are included in the CVS checkout. This is convenient for us Windows users (but a bit silly for everyone else). All you need is the Platform SDK, and maybe the DirectX SDK (but that I'm not sure you need all of any more).

Once you download the CVS (pending article), open the projects folder. There you'll find a MSVC_2003 folder, which has a lot of what we need, but the project hasn't been updated in some time. I'm hoping to get this fixed.

For now, the solution is to copy the project files from another project folder, such as MSVC_6. Then open the workspace. If you're using 2003, it works right away after a wizarded conversion. Awesome.


Now for Visual C++ 2005 Express Edition:

I dunno if this is the "right" way -- the way I did the dependencies might end up requiring anyone else to whom you give a compiled build needing some extra DLLs. but eh, it works for me. (Corrections welcome, please!) I think it's gotten easier with some changes they made in the May 15 version of the MSVC_6, so what I did was:

  • make sure my Tools->Options->Projects and Solutions->VC++ Directories properly points to where I have my Platform SDK and DirectX SDK (do this for Include files and Library files at least)
  • erase what's in the MSVC_2005 folder
  • copy the contents of MSVC_6 to MSVC_2005
  • open the Freespace2.dsw and go through the default conversion steps
  • switch to Release configuration
  • in Properties of the Freespace2 project, go to Linker, inside it: Input.
  • add to Ignore Specific Library: libci.lib
  • added to Additional Dependencies: ole32.lib advapi32.lib gdi32.lib user32.lib
 And hopefully that should do it.  oh there might be some complaints about an undeclared i variable inside a for loop... change "for (i=0 "... to "for (int i=0 "... but you should be familiar with this sort of thing.
 Ideally, I can later replace the project in the folder on CVS, if it works for more than just me :D

optional (speeds compiling up)

  • in Properties of the Freespace2 project, go to C/C++
  • inside Browse Information, change Enable Browse Information to None. Do this for all the projects: Freespace2, code, Fred2.
  • inside Code Generation, Enable Minimal Rebuild.

extra optional (just in case, try compiling first... later mess with this stuff. and do it to Release not Debug)

  • inside Optimization, tweak as you like. I turned on a bunch of optimizations, including 'Optimize For Processor' to Pentium 4 and above (/G7).
  • inside Code Generation, experiment with 'Enable Enhanced Instruction Set' depending on your processor. [me, I have an Athlon XP, which supports SSE but actually runs faster without it if /G7 is on.]