Last night, I started to build the latest source files in Visual Studio 2010 (that would be revision 12925.) My hope is that I can streamline the build process and create a step by step list that anyone should be able to follow. From other posts, it appears that there have been some major changes lately that make it difficult to build Vega Strike on Windows, with some people questioning whether it's even going to be possible. I saw that shenle attempted this a while ago, but there doesn't appear to be any resolution to it.
Rather than revert to the revision shenle used and go through his steps, I decided to start fresh from revision 12925.
Here is what I have done so far:
- Installed Visual C++ 2010 Express
- Installed SVN (and Tortoise)
- Installed Python 2.6 (actually, I tried the latest version first, and then discovered that PYString_FromString was missing, so I had to revert)
- Installed Boost 1.44 (not sure whether I can make this work yet, as Vega Strike is currently built against 1.35, I think)
- Installed the Windows 7 platform SDK
- Checked out Vega Strike's head revision source code (12925)
- Copied the vega-vc8 folder and renamed the new folder to vega-vc10
- Opened the vegastrike2008.sln solution file from the vega-vc10 folder in the IDE, and told Visual C++ 2010 to convert the project. I'll rename it to 2010 once it compiles.
- Went into the properties of the "vegastrike" project (Configuration Properties|C/C++|General|Additional Include Directories), and changed the boost folder to my boost installation location "$(MSBuildProgramFiles32)\boost\1_44". I did this for every possible configuration.
- Installed the OpenAL11SDK, to try to fix an issue with dev = alcOpenDevice( "DirectSound3D" ). Installing the openAL SDK did nothing. In the end, I had to do the following: dev = alcOpenDevice( (ALCubyte*)"DirectSound3D" ). There was another thread about this, but the only advice was to get the latest version of openal. Since I've never intentionally installed the openal library before today, I assume I must have the latest version.
- Deleted the "boost" folder from the "vegastrike" project, because the linkage to these files was hard-coded to "..vegastrike\boost\1_35\src\" and there was nothing there in SVN. Generally, it's not considered good practice to copy files from someone else's library into your source folder; makes it harder to stay up to date that way. Once I redirected the include folders to my local 1_44 boost installation and deleted the hard-coded boost folder, most of my file not found errors went away, which is good, because finding how it kept asking for 1_35 was truly maddening.
- Deleted the following files from the following folders (only in the project file, of course): cmd\unit_bsp.cpp & .h, gfx\bounding_box.cpp & h, gfx\bsp.cpp & h, and gui\general.cpp & h. These files were nowhere to be found in the vegastrike source code in SVN. I can only assume that further development on a Linux version removed them, and the project file got out of date.
error C3861: 'png_set_expand_gray_1_2_4_to_8': identifier not found
Anyone have any thoughts? I've attached my build log.
Thanks in advance.