Windows build with .NET Visual C++ 7.0

Developers
pmisteli
2006-11-23
2012-09-15
  • pmisteli

    pmisteli - 2006-11-23

    Question from SC by email:

    I've downloaded the source and I have some questions about building it in WinXP using Visual Studio .NET (Visual C++ 7.0). Notably, I see that you have 17 different .sln files. Usually when I create or work with apps built using VC++ I have a single .sln file, possibly with multiple projects within it. Can you tell me how to organize these many .sln files for creating a MoreAmp application, or point me to documentation?

    Answer:

    The src/msvc++ dir is setup with the old Visual Studio (Visual C++ 6.0), and there are several workspace (.dsw) files and several .dsp (project) files, and no .sln files. Your .sln files are maybe created when VC7 imports the moreamp VC6 workspaces.

    Unfortunately I have never got beyond VC++6.0 so I can't be of much help with .NET.

    If you have problems building MoreAmp with VC7, it may be easier to first try it with VC6, if you can get a VC6 installation.

    With VC6 and wxWidgets 2.4.2 or 2.6.3 installed on your system, MoreAmp should build out of the box. Without wxWidgets, you could at least build the CLI version (MoreAmpNOGUI).

    Here are the 17 VC6 files, in the MoreAmp src/msvc++ dir, used to build MoreAmp, which I am guessing correspond somehow to your 17 .sln files (there are some other .dsw and .dsp files in the libs dir that are not used to build MoreAmp).

    These files are numbered 0 to 16 so that projects 1-10 match the project numbering in the MoreAmp.dsw workspace:

    1. MoreAmp.dsw - the workspace for MoreAmp, which contains 10 projects.

    You only need to build one of projects 1, 2, or 3, all the other projects come prebuilt in the MoreAmp src release.

    1. MoreAmp.dsp - builds output/MoreAmp.exe using wxWindows-2.6.3, with all codec options.

    2. MoreAmp242.dsp - builds output/MoreAmp.exe using wxWindows-2.4.2, with all codec options.

    3. MoreAmpNOGUI.dsp - builds output/MoreAmpNOGUI.exe, a CLI app with no GUI, with all codec options.

    Projects 4 to 10 come pre-built in the src release (built with VC6). They build static libraries that get linked with the MoreAmp*.exe binaries. These are Release builds but Debug builds are possible:

    1. libs\libcdread\libcdread.dsp - builds libs/libcdread/libcdread.lib

    2. libs\libid3tag\msvc++\libid3tag.dsp - builds libs/libid3tag/msvc++/Release/libid3tag.lib

    3. libs\libmad\msvc++\libmad.dsp - builds libs/libmad/msvc++/Release/libmad.lib

    4. libs\libogg\win32\ogg_static.dsp - builds libs/libogg/win32/Static_Release/ogg_static.lib

    5. libs\libvorbis\win32\vorbis_static.dsp - builds libs/libvorbis/win32/Vorbis_Static_Release/vorbis_static.lib

    6. libs\libvorbis\win32\vorbisenc_static.dsp - builds libs/libvorbis/win32/VorbisEnc_Static_Release/vorbisenc_static.lib

    7. libs\libvorbis\win32\vorbisfile_static.dsp - builds libs/libvorbis/win32/VorbisFile_Static_Release/vorbisfile_static.lib

    Other static libraries that get linked with MoreAmp*.exe are built from their own workspace in the libs dir. These also come pre-built in the src release (built with VC6).

    1. libs/lame/lame_vc6.dsw - builds libs/lame/libmp3lame/Release/libmp3lame.lib

    2. libs/faac/faac.dsw - builds libs/faac/libfaac/Release/libfaac.lib

    3. libs/faac/common/mp4v2/libmp4v260.dsw - builds libs/faac/common/mp4v2/Release/libmp4v260.lib

    4. libs/faad2/libfaad/libfaad.dsw - builds libs/faad2/libfaad/Release/libfaad.lib

    5. libs/faad2/common/mp4ff/mp4ff.dsw - builds libs/faad2/common/mp4ff/Release/mp4ff.lib

    6. libs/flac/FLAC.dsw- builds libs/flac/obj/release/lib/libFLAC_static.lib

    zlib.lib has no project for it, but is included in the libs dir for convenience:
    libs/libz/lib/zlib.lib

    There is also a libs/portaudio/build/msvc/portaudio.dsw and a libs/portaudio103/pa_win/msvc/portaudio.lib to optionally build MoreAmp with portaudio.

    The rest of the libs to link with are not supplied with MoreAmp, they are Windows or wxWidgets libs:
    wxregex.lib wxpng.lib wxjpeg.lib wxtiff.lib wxmsw26_core.lib wxbase26.lib
    dsound.lib winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib.

    There is more info in text files INSTALLwin32.txt and libs/READMElibsWIN.

    pmisteli

     
    • Nobody/Anonymous

      Thanks for your response. In the future I'll communicate via this thread.

      -SC

       
    • moreforge

      moreforge - 2009-08-08

      As of release 0.1.23 there is a complete (MoreAmp + libs) Visual Studio 2008 project, MoreAmp.sln, in the msvc++ dir.

      moreforge

       

Log in to post a comment.