Compiling Without Visual Studio 2003

From Musik

musikCube is developed with Visual Studio 2003, but we would like to add support for other (free) development environments. The main obstacles are that there are not really many tools that can load the Microsoft project files (*.sln and *.vcproj). Also, the musikCube directory (musikCube's interface) relies on MFC (Microsoft Foundation Classes). These libraries are only available with the full versions of Visual Studio.

This page describes the various attempts.

Table of contents

Visual C++ 2005 Express Edition

Note: Currently (4/16/2005) this has been met with limited success.

First, Download and install VS Express 2005 (http://msdn.microsoft.com/vstudio/express/visualc/download/). I don't know if you need to install the Platform SDK or not but I did.

Open ..\musikcore\include\paramlist.hpp in Notepad and resave the file. You may need to make a minor change to the file and then back it out in order to get it to resave. (I forget). If you don't do this than VS will complain about a MAC character and ask you to convert it.

Open the musicCore project. musicCube will not be compileable because the Express Edition doen't contain the MFC.

put /Y- into the project properties under /[some tab]/C++ (disables precompiled headers). Otherwise throws some kind of duplicate file errors.

Be sure to change the type from debug to release in the toolbar. Otherwise the dll will end in _uD.dll instead of _u.dll

Build the source

You will probably get a bunch of warnings. Apparently Microsoft made some huge C++ language changes in VS2005 (such as deprecating basic C string functions that musikCube relies on).

Hopefully it compiled and put the new dll in ..\musikCube\bin\musicCore_u.dll

Unfortunately the new dll doesn't seem to work. I'm still working on this. The following error pops up if you try to use it.

title: MusikCube.exe - Entry Point Not Found Error msg: The procedure entry point ?GetRelatedSongs@Library@musikCore@@QAEHV?$giberish@HAAUPlaylistInfo@moregibersh could not be located in the dynamic link library musikCore_u.dll

Good Luck

VCBuild

Microsoft has a VCBuild tool available which lets you build VS 2003 VC++ solutions w/o installing Visual Studio using the commandline. According to the docs cl.exe from Visual Studio is required (I'm sure you can find this/get this from someone).

Download : http://www.gotdotnet.com/team/cplusplus/samples/vcbuild.zip

A full description (excerpt from the readme) is below:




Overview: VCBuild is a command line utility that enables you to build Visual Studio® .NET 2003 solutions that contain Visual C++ projects, as well as stand-alone Visual C++ projects. It also enables you to build solutions on systems without an installation of Visual Studio® .NET 2003, which differentiates this utility from the /build switch of DEVENV.EXE. The first alternative is ideal for developers who want to build Visual C++ projects from the command line as well as from within the Visual Studio® .NET 2003 IDE. The second alternative is ideal for automated build machines, because it does not require a complete installation of Visual Studio® .NET 2003 to build Visual C++ projects. VCBuild does not require any registration of its libraries to work.

Requirements: The following is required to use the stand-alone version of VCBuild (the version that ships with a mspdb71.dll):

  • Microsoft Windows 2000 Professional, Microsoft Windows 2002 Server, Microsoft Windows XP Professional, or Microsoft Windows Server 2003 is required. Previous versions of Microsoft Windows, including, but not limited to, Microsoft Windows 95, Microsoft Windows 98, and Microsoft Windows Millenium are not supported.
  • The Visual Studio® .NET 2003 version of cl.exe which is 13.10.3077.
  • The console locale is expected to be locale ID 1033 (US English). Please review the known issues if you plan on running VCBuild in a console with a different local identifier.


Creating a Makefile

VS2003 does not have a way of exporting project settings to a makefile (as previous versions did). As makefiles are a good and simple way to compile projects with all kinds of tools, finding a way to generate a makefile from VS2003 project files would be interesting.

Otto has posted makefiles for the Platform SDK that still need some testing, see the forum thread "musikCube makefiles (http://musikcube.com/punbb/viewtopic.php?id=348)"

Platform SDK

Microsoft offers developers a free compiler toolkit which can be downloaded via Windows Update. This SDK includes compiler and linker, various libraries and documentation.

Drawback: no way to directly compile project files.


DevC++

(todo)


SharpEdit

(todo)


Forum Discussions