URY playd
C++ minimalist audio player
README.VisualStudio.md
1 # Visual Studio Build Notes
2 
3 Here are some field notes for building `playd` with Microsoft Visual Studio.
4 
5 **NOTE**: Much of this is from memory and is in need of filling out with
6 more details.
7 
8 ## Visual Studio Versions
9 
10 At time of writing, `playd` has been tested with Visual Studio 2015 (version
11 14). As `playd` needs a C++11 compiler, earlier versions will likely fail;
12 newer versions may work, but this is not guaranteed.
13 
14 ## Assembling Libraries and Includes
15 
16 The Visual Studio project provided (`playd.vcxproj`) expects import libraries
17 (`.lib` files) and library headers (`.h`, `.hpp`, `.hxx`) to be collected in
18 the `lib` and `include` subdirectories respectively.
19 
20 The `lib` directory should include:
21 
22 * `libmpg123-0.lib`, from building libmpg123 (details TBA);
23 * `libsndfile-1.lib`, from the libsndfile Windows distribution;
24 * `libuv.lib`, from building libuv as below;
25 * `SDL2.lib` and `SDLmain.lib` from SDL2 (if you are building a `Debug` version
26  of playd, you **will** need to build SDL2 from source--the Visual Studio
27  pre-packaged lib is built for `Release` only and **will** give you linker
28  errors!)
29 
30 The `include` directory should include:
31 
32 * `mpg123.h` from libmpg123;
33 * The contents of SDL2's `include` directory (better safe than sorry);
34 * `sndfile.h` and `sndfile.hh` from libsndfile;
35 * These headers from libuv's `include` directory:
36  * `tree.h`
37  * `uv.h`
38  * `uv-errno.h`
39  * `uv-threadpool.h`
40  * `uv-version.h`
41  * `uv-win.h`
42 
43 ## LibUV
44 
45 This _must_ be built as a shared library (`vcbuild.bat shared`). Otherwise,
46 this should work fine.