changeset 489:7a393db13c75

Update installation notes for MSVC
author Chris Cannam
date Fri, 24 Feb 2017 14:43:58 +0000
parents 286240e6d397
children 703da7b180e8
files INSTALL build/README.msvc
diffstat 2 files changed, 48 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/INSTALL	Fri Feb 24 09:21:19 2017 +0000
+++ b/INSTALL	Fri Feb 24 14:43:58 2017 +0000
@@ -6,8 +6,6 @@
 
  * Mac OS/X: Please read build/README.osx
 
- * Solaris: Please read build/README.osol
-
  * Linux: Please read build/README.linux
 
  * Windows cross-compiling from Linux: Try build/Makefile.mingw32
--- a/build/README.msvc	Fri Feb 24 09:21:19 2017 +0000
+++ b/build/README.msvc	Fri Feb 24 14:43:58 2017 +0000
@@ -2,38 +2,60 @@
 The Vamp Plugin SDK -- Platform Notes for Visual C++ on Windows
 ===============================================================
 
-Visual C++ Project Files
-------------------------
+This version of the SDK is contains project files for Visual C++ 2013
+or newer. You can build the SDK in either 32-bit or 64-bit (x64) mode,
+but remember that a 32-bit host generally cannot load 64-bit plugins.
 
-Three Visual C++ project files are included with the SDK:
 
- - build/VampPluginSDK.vcproj
+Visual C++ Projects and Solution Files
+--------------------------------------
+
+Two Visual C++ solution files are included:
+
+ - build/VampSDK.sln
+
+   Builds the plugin SDK and the example plugins.
+   See the VampPluginSDK and VampExamplePlugins projects below.
+
+ - build/VampHostSDK.sln
+
+   Builds the host SDK and the simple-host command-line application.
+   See the VampHostSDK and VampSimpleHost projects below.
+   Note that the VampSimpleHost requires the libsndfile library; if
+   you want to build without that, use the VampHostSDK project rather
+   than this solution.
+
+Four Visual C++ project files are included:
+
+ - build/VampPluginSDK.vcxproj
 
    This builds the plugin SDK into a single static library, but does
    not build the example plugins, the host SDK, or the host.  (We
    recommend using static linkage for the SDK rather than distributing
    it as a DLL, particularly when building plugins.)
 
- - build/VampHostSDK.vcproj
-
-   This builds the host SDK into a single static library, but does not
-   build the plugin SDK, example plugins, or host.
-
- - build/VampExamplePlugins.vcproj
+ - build/VampExamplePlugins.vcxproj
 
    This builds the example plugins DLL, but does not build the plugin
    or host SDKs or the host.  You don't need to build the plugin SDK
    before this, because this project simply includes the plugin SDK
    files rather than using the library.
 
+ - build/VampHostSDK.vcxproj
+
+   This builds the host SDK into a single static library, but does not
+   build the plugin SDK, example plugins, or host.
+
+ - build/VampSimpleHost.vcxproj
+
+   This builds the simple host command line program. You must have
+   the libsndfile library installed in order to build this project.
+
 Of course, when using Visual Studio or another IDE to build a plugin
 or host using the SDK, you may simply add the .h and .cpp files in the
 vamp-sdk or vamp-hostsdk directories to your existing project.  This
 is the approach taken in the VampExamplePlugins project.
 
-As the command-line host has additional library dependencies (namely
-libsndfile), no pre-packaged project is included to build it.
-
 
 Installing the Example Plugins
 ------------------------------
@@ -45,10 +67,19 @@
 and
    examples\vamp-example-plugins.cat
 
-to
+to the appropriate location as follows:
+
+ * For 32-bit plugins running on a 32-bit system, and
+   for 64-bit plugins running on a 64-bit system
 
    C:\Program Files\Vamp Plugins
 
+ * For 32-bit plugins running on a 64-bit system
+
+   C:\Program Files\Vamp Plugins (x86)
+
+You cannot use 64-bit plugins on a 32-bit system.
+
 
 Plugin Linkage
 --------------
@@ -61,13 +92,13 @@
 linker option /EXPORT:vampGetPluginDescriptor to your project.  (All
 of the other symbols will be properly hidden, because that is the
 default for the Visual Studio linker.)  The included example plugins
-project in build/VampExamplePlugins.vcproj does this.
+project in build/VampExamplePlugins.vcxproj does this.
 
 Alternatively, you may modify vamp/vamp.h to add the
 __declspec(dllexport) attribute to the vampGetPluginDescriptor
 declaration.  This is not present by default, because it isn't
-portable and, as we only want one symbol exported, the above linker
-option works equally well without code changes.
+portable among compilers and, as we only want one symbol exported, the
+above linker option works equally well without code changes.
 
 (If you don't take at least one of these actions, your plugin library
 simply will not load in any host.)