docs/README-winrt.md
author Ryan C. Gordon <icculus@icculus.org>
Mon, 20 Apr 2015 12:22:44 -0400
changeset 9566 7454bfce9202
parent 9390 afd88e715bd7
child 9931 0bb3dd1c95f2
permissions -rw-r--r--
Windows: Always set the system timer resolution to 1ms by default. An existing hint lets apps that don't need the timer resolution changed avoid this, to save battery, etc, but this fixes several problems in timing, audio callbacks not firing fast enough, etc. Fixes Bugzilla #2944.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9139
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
     1
WinRT
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
     2
=====
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
     3
9150
5c42e467f6cd WinRT: cleaned up the opening section of the README
David Ludwig <dludwig@pobox.com>
parents: 9149
diff changeset
     4
This port allows SDL applications to run on Microsoft's platforms that require
5c42e467f6cd WinRT: cleaned up the opening section of the README
David Ludwig <dludwig@pobox.com>
parents: 9149
diff changeset
     5
use of "Windows Runtime", aka. "WinRT", APIs.  WinRT apps are currently
5c42e467f6cd WinRT: cleaned up the opening section of the README
David Ludwig <dludwig@pobox.com>
parents: 9149
diff changeset
     6
full-screen only, and run in what Microsoft sometimes refers to as their
5c42e467f6cd WinRT: cleaned up the opening section of the README
David Ludwig <dludwig@pobox.com>
parents: 9149
diff changeset
     7
"Modern" (formerly, "Metro"), environment.  For Windows 8.x, Microsoft may also
5c42e467f6cd WinRT: cleaned up the opening section of the README
David Ludwig <dludwig@pobox.com>
parents: 9149
diff changeset
     8
refer to them as "Windows Store" apps, due to them being distributed,
5c42e467f6cd WinRT: cleaned up the opening section of the README
David Ludwig <dludwig@pobox.com>
parents: 9149
diff changeset
     9
primarily, via a Microsoft-run online store (of the same name).
5c42e467f6cd WinRT: cleaned up the opening section of the README
David Ludwig <dludwig@pobox.com>
parents: 9149
diff changeset
    10
5c42e467f6cd WinRT: cleaned up the opening section of the README
David Ludwig <dludwig@pobox.com>
parents: 9149
diff changeset
    11
Some of the operating systems that include WinRT, are:
9139
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
    12
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
    13
* Windows 8.x
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
    14
* Windows RT 8.x (aka. Windows 8.x for ARM processors)
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
    15
* Windows Phone 8.x
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
    16
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
    17
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
    18
Requirements
9137
b0b056a7b932 WinRT: cleaned up section headers
David Ludwig <dludwig@pobox.com>
parents: 9025
diff changeset
    19
------------
9139
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
    20
9140
3d8e33a24c31 WinRT: expanded and updated the README section on MSVC requirements
David Ludwig <dludwig@pobox.com>
parents: 9139
diff changeset
    21
* Microsoft Visual C++ (aka Visual Studio), either 2013 or 2012 versions
9224
bc074eca6597 WinRT: updated README-winrt.md to detail Visual Studio 2013 Community support
David Ludwig <dludwig@pobox.com>
parents: 9215
diff changeset
    22
  - Free, "Community" or "Express" editions may be used, so long as they
bc074eca6597 WinRT: updated README-winrt.md to detail Visual Studio 2013 Community support
David Ludwig <dludwig@pobox.com>
parents: 9215
diff changeset
    23
    include  support for either "Windows Store" or "Windows Phone" apps.
bc074eca6597 WinRT: updated README-winrt.md to detail Visual Studio 2013 Community support
David Ludwig <dludwig@pobox.com>
parents: 9215
diff changeset
    24
    "Express" versions marked as supporting "Windows Desktop" development
bc074eca6597 WinRT: updated README-winrt.md to detail Visual Studio 2013 Community support
David Ludwig <dludwig@pobox.com>
parents: 9215
diff changeset
    25
    typically do not include support for creating WinRT apps, to note.
bc074eca6597 WinRT: updated README-winrt.md to detail Visual Studio 2013 Community support
David Ludwig <dludwig@pobox.com>
parents: 9215
diff changeset
    26
    (The "Community" edition of Visual C++ 2013 does, however, support both
bc074eca6597 WinRT: updated README-winrt.md to detail Visual Studio 2013 Community support
David Ludwig <dludwig@pobox.com>
parents: 9215
diff changeset
    27
    desktop/Win32 and WinRT development).
bc074eca6597 WinRT: updated README-winrt.md to detail Visual Studio 2013 Community support
David Ludwig <dludwig@pobox.com>
parents: 9215
diff changeset
    28
  - Visual C++ 2012 can only build apps that target versions 8.0 of Windows,
bc074eca6597 WinRT: updated README-winrt.md to detail Visual Studio 2013 Community support
David Ludwig <dludwig@pobox.com>
parents: 9215
diff changeset
    29
    or  Windows Phone.  8.0-targetted apps will run on devices running 8.1
bc074eca6597 WinRT: updated README-winrt.md to detail Visual Studio 2013 Community support
David Ludwig <dludwig@pobox.com>
parents: 9215
diff changeset
    30
    editions of Windows, however they will not be able to take advantage of
9140
3d8e33a24c31 WinRT: expanded and updated the README section on MSVC requirements
David Ludwig <dludwig@pobox.com>
parents: 9139
diff changeset
    31
    8.1-specific features.
9224
bc074eca6597 WinRT: updated README-winrt.md to detail Visual Studio 2013 Community support
David Ludwig <dludwig@pobox.com>
parents: 9215
diff changeset
    32
  - Visual C++ 2013 cannot create app projects that target Windows 8.0.
bc074eca6597 WinRT: updated README-winrt.md to detail Visual Studio 2013 Community support
David Ludwig <dludwig@pobox.com>
parents: 9215
diff changeset
    33
    Visual C++ 2013 Update 4, can create app projects for Windows Phone 8.0,
bc074eca6597 WinRT: updated README-winrt.md to detail Visual Studio 2013 Community support
David Ludwig <dludwig@pobox.com>
parents: 9215
diff changeset
    34
    Windows Phone 8.1, and Windows 8.1, but not Windows 8.0.  An optional
bc074eca6597 WinRT: updated README-winrt.md to detail Visual Studio 2013 Community support
David Ludwig <dludwig@pobox.com>
parents: 9215
diff changeset
    35
    Visual Studio add-in, "Tools for Maintaining Store apps for Windows 8",
bc074eca6597 WinRT: updated README-winrt.md to detail Visual Studio 2013 Community support
David Ludwig <dludwig@pobox.com>
parents: 9215
diff changeset
    36
    allows Visual C++ 2013 to load and build Windows 8.0 projects that were
bc074eca6597 WinRT: updated README-winrt.md to detail Visual Studio 2013 Community support
David Ludwig <dludwig@pobox.com>
parents: 9215
diff changeset
    37
    created with Visual C++ 2012, so long as Visual C++ 2012 is installed
bc074eca6597 WinRT: updated README-winrt.md to detail Visual Studio 2013 Community support
David Ludwig <dludwig@pobox.com>
parents: 9215
diff changeset
    38
    on the same machine.  More details on targeting different versions of
bc074eca6597 WinRT: updated README-winrt.md to detail Visual Studio 2013 Community support
David Ludwig <dludwig@pobox.com>
parents: 9215
diff changeset
    39
    Windows can found at the following web pages:
9140
3d8e33a24c31 WinRT: expanded and updated the README section on MSVC requirements
David Ludwig <dludwig@pobox.com>
parents: 9139
diff changeset
    40
      - [Develop apps by using Visual Studio 2013](http://msdn.microsoft.com/en-us/library/windows/apps/br211384.aspx)
3d8e33a24c31 WinRT: expanded and updated the README section on MSVC requirements
David Ludwig <dludwig@pobox.com>
parents: 9139
diff changeset
    41
      - [To add the Tools for Maintaining Store apps for Windows 8](http://msdn.microsoft.com/en-us/library/windows/apps/dn263114.aspx#AddMaintenanceTools)
3d8e33a24c31 WinRT: expanded and updated the README section on MSVC requirements
David Ludwig <dludwig@pobox.com>
parents: 9139
diff changeset
    42
* A valid Microsoft account - This requirement is not imposed by SDL, but
3d8e33a24c31 WinRT: expanded and updated the README section on MSVC requirements
David Ludwig <dludwig@pobox.com>
parents: 9139
diff changeset
    43
  rather by Microsoft's Visual C++ toolchain.  This is required to launch or 
3d8e33a24c31 WinRT: expanded and updated the README section on MSVC requirements
David Ludwig <dludwig@pobox.com>
parents: 9139
diff changeset
    44
  debug apps.
9139
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
    45
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
    46
9208
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    47
Status
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    48
------
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    49
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    50
Here is a rough list of what works, and what doens't:
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    51
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    52
* What works:
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    53
  * compilation via Visual C++ 2012 and 2013
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    54
  * compile-time platform detection for SDL programs.  The C/C++ #define,
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    55
    `__WINRT__`, will be set to 1 (by SDL) when compiling for WinRT.
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    56
  * GPU-accelerated 2D rendering, via SDL_Renderer.
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    57
  * software rendering, via either SDL_Surface (optionally in conjunction with
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    58
    SDL_GetWindowSurface() and SDL_UpdateWindowSurface()) or via the
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    59
    SDL_Renderer APIs
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    60
  * threads.  Significant chunks of Win32's threading APIs are not available in
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    61
    WinRT.  A new, SDL threading backend was built using C++11's threading APIs
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    62
    (std::thread, std::mutex, std::condition_variable, etc.), which C or C++
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    63
    programs alike can access via SDL's threading APIs.  Support for thread
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    64
    priorities is not, however, currently available, due to restrictions in
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    65
    WinRT's own API set.
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    66
  * timers (via SDL_GetTicks(), SDL_AddTimer(), SDL_GetPerformanceCounter(),
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    67
    SDL_GetPerformanceFrequency(), etc.)
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    68
  * file I/O via SDL_RWops
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    69
  * mouse input  (unsupported on Windows Phone)
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    70
  * audio, via a modified version of SDL's XAudio2 backend
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    71
  * .DLL file loading.  Libraries must be packaged inside applications.  Loading
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    72
    anything outside of the app is not supported.
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    73
  * system path retrieval via SDL's filesystem APIs
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    74
  * game controllers.  Support is provided via the SDL_Joystick and
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    75
    SDL_GameController APIs, and is backed by Microsoft's XInput API.
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    76
  * multi-touch input
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    77
  * app events.  SDL_APP_WILLENTER* and SDL_APP_DIDENTER* events get sent out as
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    78
    appropriate.
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    79
  * window events.  SDL_WINDOWEVENT_MINIMIZED and SDL_WINDOWEVENT_RESTORED are
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    80
    sent out on app suspend and resume, respectively.  SDL_WINDOWEVENT_SHOWN and
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    81
    SDL_WINDOWEVENT_HIDDEN are also sent, but not necessarily on app suspend or
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    82
    resume, as WinRT treats these two concepts differently..
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    83
  * using Direct3D 11.x APIs outside of SDL.  Non-XAML / Direct3D-only apps can
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    84
    choose to render content directly via Direct3D, using SDL to manage the
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    85
    internal WinRT window, as well as input and audio.  (Use
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    86
    SDL_GetWindowWMInfo() to get the WinRT 'CoreWindow', and pass it into
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    87
    IDXGIFactory2::CreateSwapChainForCoreWindow() as appropriate.)
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    88
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    89
* What partially works:
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    90
  * keyboard input.  Most of WinRT's documented virtual keys are supported, as
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    91
    well as many keys with documented hardware scancodes.
9215
6894461723ab WinRT: updated docs to include details of recently-expanded GLES2 support
David Ludwig <dludwig@pobox.com>
parents: 9210
diff changeset
    92
  * OpenGL.  Experimental support for OpenGL ES 2 is available via the ANGLE
9390
afd88e715bd7 WinRT: updated names, and references-to, various ANGLE/WinRT repositories
David Ludwig <dludwig@pobox.com>
parents: 9335
diff changeset
    93
    project, using either:
afd88e715bd7 WinRT: updated names, and references-to, various ANGLE/WinRT repositories
David Ludwig <dludwig@pobox.com>
parents: 9335
diff changeset
    94
    * MS Open Technologies' "ms-master" repository, at https://github.com/MSOpenTech/angle
afd88e715bd7 WinRT: updated names, and references-to, various ANGLE/WinRT repositories
David Ludwig <dludwig@pobox.com>
parents: 9335
diff changeset
    95
      (for use with Windows 8.1+ or Windows Phone 8.1+)
afd88e715bd7 WinRT: updated names, and references-to, various ANGLE/WinRT repositories
David Ludwig <dludwig@pobox.com>
parents: 9335
diff changeset
    96
    * MS Open Technologies' "angle-win8.0" repository, at https://github.com/MSOpenTech/angle-win8.0
afd88e715bd7 WinRT: updated names, and references-to, various ANGLE/WinRT repositories
David Ludwig <dludwig@pobox.com>
parents: 9335
diff changeset
    97
      (for Windows 8.0 only!)
afd88e715bd7 WinRT: updated names, and references-to, various ANGLE/WinRT repositories
David Ludwig <dludwig@pobox.com>
parents: 9335
diff changeset
    98
    * Google's main ANGLE repository, at https://chromium.googlesource.com/angle/angle
9208
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
    99
  * SDLmain.  WinRT uses a different signature for each app's main() function.
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   100
    SDL-based apps that use this port must compile in SDL_winrt_main_NonXAML.cpp
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   101
    (in `SDL\src\main\winrt\`) directly in order for their C-style main()
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   102
    functions to be called.
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   103
  * XAML interoperability.  This feature is currently experimental (there are
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   104
    **many** known bugs in this, at present!), preliminary, and only for
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   105
    Windows 8.x/RT at the moment.  Windows Phone + XAML support is still
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   106
    pending.
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   107
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   108
* What doesn't work:
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   109
  * compilation with anything other than Visual C++ 2012 or 2013
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   110
  * programmatically-created custom cursors.  These don't appear to be supported
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   111
    by WinRT.  Different OS-provided cursors can, however, be created via
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   112
    SDL_CreateSystemCursor() (unsupported on Windows Phone)
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   113
  * SDL_WarpMouseInWindow() or SDL_WarpMouseGlobal().  This are not currently
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   114
    supported by WinRT itself.
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   115
  * joysticks and game controllers that aren't supported by Microsoft's XInput
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   116
    API.
9335
3eb0896ecb91 WinRT: made note that VSync is always enabled on WinPhone, due to OS
David Ludwig <dludwig@pobox.com>
parents: 9255
diff changeset
   117
  * turning off VSync when rendering on Windows Phone.  Attempts to turn VSync
3eb0896ecb91 WinRT: made note that VSync is always enabled on WinPhone, due to OS
David Ludwig <dludwig@pobox.com>
parents: 9255
diff changeset
   118
    off on Windows Phone result either in Direct3D not drawing anything, or it
3eb0896ecb91 WinRT: made note that VSync is always enabled on WinPhone, due to OS
David Ludwig <dludwig@pobox.com>
parents: 9255
diff changeset
   119
    forcing VSync back on.  As such, SDL_RENDERER_PRESENTVSYNC will always get
3eb0896ecb91 WinRT: made note that VSync is always enabled on WinPhone, due to OS
David Ludwig <dludwig@pobox.com>
parents: 9255
diff changeset
   120
    turned-on on Windows Phone.  This limitation is not present in non-Phone
3eb0896ecb91 WinRT: made note that VSync is always enabled on WinPhone, due to OS
David Ludwig <dludwig@pobox.com>
parents: 9255
diff changeset
   121
    WinRT (such as Windows 8.x), where turning off VSync appears to work.
9208
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   122
  * probably anything else that's not listed as supported
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   123
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   124
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   125
9255
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   126
Upgrade Notes
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   127
-------------
9242
f4d353bd5d16 WinRT: added SDL_HINT_WINRT_PREF_PATH_ROOT
David Ludwig <dludwig@pobox.com>
parents: 9224
diff changeset
   128
9255
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   129
#### SDL_GetPrefPath() usage when upgrading WinRT apps from SDL 2.0.3
9247
eddb899239fe WinRT: bug and data-integrity fixes for SDL_GetPrefPath()
David Ludwig <dludwig@pobox.com>
parents: 9242
diff changeset
   130
9255
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   131
SDL 2.0.4 fixes two bugs found in the WinRT version of SDL_GetPrefPath().
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   132
The fixes may affect older, SDL 2.0.3-based apps' save data.  Please note
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   133
that these changes only apply to SDL-based WinRT apps, and not to apps for
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   134
any other platform.
9242
f4d353bd5d16 WinRT: added SDL_HINT_WINRT_PREF_PATH_ROOT
David Ludwig <dludwig@pobox.com>
parents: 9224
diff changeset
   135
9255
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   136
1. SDL_GetPrefPath() would return an invalid path, one in which the path's
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   137
   directory had not been created.  Attempts to create files there
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   138
   (via fopen(), for example), would fail, unless that directory was
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   139
   explicitly created beforehand.
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   140
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   141
2. SDL_GetPrefPath(), for non-WinPhone-based apps, would return a path inside
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   142
   a WinRT 'Roaming' folder, the contents of which get automatically
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   143
   synchronized across multiple devices.  This process can occur while an
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   144
   application runs, and can cause existing save-data to be overwritten
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   145
   at unexpected times, with data from other devices.  (Windows Phone apps
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   146
   written with SDL 2.0.3 did not utilize a Roaming folder, due to API
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   147
   restrictions in Windows Phone 8.0).
9247
eddb899239fe WinRT: bug and data-integrity fixes for SDL_GetPrefPath()
David Ludwig <dludwig@pobox.com>
parents: 9242
diff changeset
   148
eddb899239fe WinRT: bug and data-integrity fixes for SDL_GetPrefPath()
David Ludwig <dludwig@pobox.com>
parents: 9242
diff changeset
   149
eddb899239fe WinRT: bug and data-integrity fixes for SDL_GetPrefPath()
David Ludwig <dludwig@pobox.com>
parents: 9242
diff changeset
   150
SDL_GetPrefPath(), starting with SDL 2.0.4, addresses these by:
eddb899239fe WinRT: bug and data-integrity fixes for SDL_GetPrefPath()
David Ludwig <dludwig@pobox.com>
parents: 9242
diff changeset
   151
eddb899239fe WinRT: bug and data-integrity fixes for SDL_GetPrefPath()
David Ludwig <dludwig@pobox.com>
parents: 9242
diff changeset
   152
1. making sure that SDL_GetPrefPath() returns a directory in which data
eddb899239fe WinRT: bug and data-integrity fixes for SDL_GetPrefPath()
David Ludwig <dludwig@pobox.com>
parents: 9242
diff changeset
   153
   can be written to immediately, without first needing to create directories.
9242
f4d353bd5d16 WinRT: added SDL_HINT_WINRT_PREF_PATH_ROOT
David Ludwig <dludwig@pobox.com>
parents: 9224
diff changeset
   154
9255
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   155
2. basing SDL_GetPrefPath() off of a different, non-Roaming folder, the
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   156
   contents of which do not automatically get synchronized across devices
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   157
   (and which require less work to use safely, in terms of data integrity).
9242
f4d353bd5d16 WinRT: added SDL_HINT_WINRT_PREF_PATH_ROOT
David Ludwig <dludwig@pobox.com>
parents: 9224
diff changeset
   158
9255
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   159
Apps that wish to get their Roaming folder's path can do so either by using
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   160
SDL_WinRTGetFSPathUTF8(), SDL_WinRTGetFSPathUNICODE() (which returns a
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   161
UCS-2/wide-char string), or directly through the WinRT class,
c2ef0d8d6da0 WinRT: removed SDL_HINT_WINRT_PREF_PATH_ROOT (introduced post-2.0.3 & pre-2.0.4)
David Ludwig <dludwig@pobox.com>
parents: 9247
diff changeset
   162
Windows.Storage.ApplicationData.
9242
f4d353bd5d16 WinRT: added SDL_HINT_WINRT_PREF_PATH_ROOT
David Ludwig <dludwig@pobox.com>
parents: 9224
diff changeset
   163
f4d353bd5d16 WinRT: added SDL_HINT_WINRT_PREF_PATH_ROOT
David Ludwig <dludwig@pobox.com>
parents: 9224
diff changeset
   164
9208
a396a375e6c5 WinRT: added details of the port's status, to README-winrt.md
David Ludwig <dludwig@pobox.com>
parents: 9200
diff changeset
   165
9139
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   166
Setup, High-Level Steps
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   167
-----------------------
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   168
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   169
The steps for setting up a project for an SDL/WinRT app looks like the
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   170
following, at a high-level:
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   171
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   172
1. create a new Visual C++ project using Microsoft's template for a,
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   173
   "Direct3D App".
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   174
2. remove most of the files from the project.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   175
3. make your app's project directly reference SDL/WinRT's own Visual C++
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   176
   project file, via use of Visual C++'s "References" dialog.  This will setup
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   177
   the linker, and will copy SDL's .dll files to your app's final output.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   178
4. adjust your app's build settings, at minimum, telling it where to find SDL's
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   179
   header files.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   180
5. add a file that contains a WinRT-appropriate main function.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   181
6. add SDL-specific app code.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   182
7. build and run your app.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   183
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   184
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   185
Setup, Detailed Steps
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   186
---------------------
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   187
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   188
### 1. Create a new project ###
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   189
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   190
Create a new project using one of Visual C++'s templates for a plain, non-XAML,
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   191
"Direct3D App" (XAML support for SDL/WinRT is not yet ready for use).  If you
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   192
don't see one of these templates, in Visual C++'s 'New Project' dialog, try
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   193
using the textbox titled, 'Search Installed Templates' to look for one.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   194
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   195
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   196
### 2. Remove unneeded files from the project ###
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   197
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   198
In the new project, delete any file that has one of the following extensions:
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   199
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   200
- .cpp
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   201
- .h
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   202
- .hlsl
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   203
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   204
When you are done, you should be left with a few files, each of which will be a
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   205
necessary part of your app's project.  These files will consist of:
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   206
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   207
- an .appxmanifest file, which contains metadata on your WinRT app.  This is
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   208
  similar to an Info.plist file on iOS, or an AndroidManifest.xml on Android.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   209
- a few .png files, one of which is a splash screen (displayed when your app
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   210
  launches), others are app icons.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   211
- a .pfx file, used for code signing purposes.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   212
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   213
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   214
### 3. Add references to SDL's project files ###
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   215
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   216
SDL/WinRT can be built in multiple variations, spanning across three different
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   217
CPU architectures (x86, x64, and ARM) and two different configurations
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   218
(Debug and Release).  WinRT and Visual C++ do not currently provide a means
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   219
for combining multiple variations of one library into a single file.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   220
Furthermore, it does not provide an easy means for copying pre-built .dll files
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   221
into your app's final output (via Post-Build steps, for example).  It does,
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   222
however, provide a system whereby an app can reference the MSVC projects of
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   223
libraries such that, when the app is built:
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   224
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   225
1. each library gets built for the appropriate CPU architecture(s) and WinRT
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   226
   platform(s).
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   227
2. each library's output, such as .dll files, get copied to the app's build 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   228
   output.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   229
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   230
To set this up for SDL/WinRT, you'll need to run through the following steps:
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   231
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   232
1. open up the Solution Explorer inside Visual C++ (under the "View" menu, then
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   233
   "Solution Explorer")
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   234
2. right click on your app's solution.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   235
3. navigate to "Add", then to "Existing Project..."
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   236
4. find SDL/WinRT's Visual C++ project file and open it.  Different project
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   237
   files exist for different WinRT platforms.  All of them are in SDL's
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   238
   source distribution, in the following directories:
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   239
    * `VisualC-WinRT/WinPhone80_VS2012/` - for Windows Phone 8.0 apps
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   240
    * `VisualC-WinRT/WinPhone81_VS2013/` - for Windows Phone 8.1 apps
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   241
    * `VisualC-WinRT/WinRT80_VS2012/` - for Windows 8.0 apps
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   242
    * `VisualC-WinRT/WinRT81_VS2013/` - for Windows 8.1 apps
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   243
5. once the project has been added, right-click on your app's project and
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   244
   select, "References..."
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   245
6. click on the button titled, "Add New Reference..."
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   246
7. check the box next to SDL
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   247
8. click OK to close the dialog
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   248
9. SDL will now show up in the list of references.  Click OK to close that
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   249
   dialog.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   250
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   251
Your project is now linked to SDL's project, insofar that when the app is
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   252
built, SDL will be built as well, with its build output getting included with
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   253
your app.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   254
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   255
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   256
### 4. Adjust Your App's Build Settings ###
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   257
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   258
Some build settings need to be changed in your app's project.  This guide will
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   259
outline the following:
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   260
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   261
- making sure that the compiler knows where to find SDL's header files
9149
e910a192f68f WinRT: fixed broken emphasis formatting in README, when rendering it with Doxygen
David Ludwig <dludwig@pobox.com>
parents: 9143
diff changeset
   262
- **Optional for C++, but NECESSARY for compiling C code:** telling the
9139
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   263
  compiler not to use Microsoft's C++ extensions for WinRT development.
9149
e910a192f68f WinRT: fixed broken emphasis formatting in README, when rendering it with Doxygen
David Ludwig <dludwig@pobox.com>
parents: 9143
diff changeset
   264
- **Optional:** telling the compiler not generate errors due to missing
9139
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   265
  precompiled header files.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   266
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   267
To change these settings:
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   268
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   269
1. right-click on the project
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   270
2. choose "Properties"
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   271
3. in the drop-down box next to "Configuration", choose, "All Configurations"
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   272
4. in the drop-down box next to "Platform", choose, "All Platforms"
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   273
5. in the left-hand list, expand the "C/C++" section
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   274
6. select "General"
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   275
7. edit the "Additional Include Directories" setting, and add a path to SDL's
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   276
   "include" directory
9149
e910a192f68f WinRT: fixed broken emphasis formatting in README, when rendering it with Doxygen
David Ludwig <dludwig@pobox.com>
parents: 9143
diff changeset
   277
8. **Optional: to enable compilation of C code:** change the setting for
9139
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   278
   "Consume Windows Runtime Extension" from "Yes (/ZW)" to "No".  If you're 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   279
   working with a completely C++ based project, this step can usually be 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   280
   omitted.
9149
e910a192f68f WinRT: fixed broken emphasis formatting in README, when rendering it with Doxygen
David Ludwig <dludwig@pobox.com>
parents: 9143
diff changeset
   281
9. **Optional: to disable precompiled headers (which can produce 
e910a192f68f WinRT: fixed broken emphasis formatting in README, when rendering it with Doxygen
David Ludwig <dludwig@pobox.com>
parents: 9143
diff changeset
   282
   'stdafx.h'-related build errors, if setup incorrectly:** in the left-hand 
9139
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   283
   list, select "Precompiled Headers", then change the setting for "Precompiled 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   284
   Header" from "Use (/Yu)" to "Not Using Precompiled Headers".
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   285
10. close the dialog, saving settings, by clicking the "OK" button
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   286
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   287
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   288
### 5. Add a WinRT-appropriate main function to the app. ###
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   289
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   290
C/C++-based WinRT apps do contain a `main` function that the OS will invoke when 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   291
the app starts launching. The parameters of WinRT main functions are different 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   292
than those found on other platforms, Win32 included.  SDL/WinRT provides a 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   293
platform-appropriate main function that will perform these actions, setup key 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   294
portions of the app, then invoke a classic, C/C++-style main function (that take 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   295
in "argc" and "argv" parameters).  The code for this file is contained inside 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   296
SDL's source distribution, under `src/main/winrt/SDL_winrt_main_NonXAML.cpp`.  
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   297
You'll need to add this file, or a copy of it, to your app's project, and make 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   298
sure it gets compiled using a Microsoft-specific set of C++ extensions called 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   299
C++/CX.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   300
9149
e910a192f68f WinRT: fixed broken emphasis formatting in README, when rendering it with Doxygen
David Ludwig <dludwig@pobox.com>
parents: 9143
diff changeset
   301
**NOTE: C++/CX compilation is currently required in at least one file of your 
9139
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   302
app's project.  This is to make sure that Visual C++'s linker builds a 'Windows 
9149
e910a192f68f WinRT: fixed broken emphasis formatting in README, when rendering it with Doxygen
David Ludwig <dludwig@pobox.com>
parents: 9143
diff changeset
   303
Metadata' file (.winmd) for your app.  Not doing so can lead to build errors.**
9139
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   304
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   305
To include `SDL_winrt_main_NonXAML.cpp`:
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   306
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   307
1. right-click on your project (again, in Visual C++'s Solution Explorer), 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   308
   navigate to "Add", then choose "Existing Item...".
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   309
2. open `SDL_winrt_main_NonXAML.cpp`, which is found inside SDL's source 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   310
   distribution, under `src/main/winrt/`.  Make sure that the open-file dialog 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   311
   closes, either by double-clicking on the file, or single-clicking on it and 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   312
   then clicking Add.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   313
3. right-click on the file (as listed in your project), then click on 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   314
   "Properties...".
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   315
4. in the drop-down box next to "Configuration", choose, "All Configurations"
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   316
5. in the drop-down box next to "Platform", choose, "All Platforms"
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   317
6. in the left-hand list, click on "C/C++"
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   318
7. change the setting for "Consume Windows Runtime Extension" to "Yes (/ZW)".
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   319
8. click the OK button.  This will close the dialog.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   320
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   321
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   322
### 6. Add app code and assets ###
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   323
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   324
At this point, you can add in SDL-specific source code.  Be sure to include a 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   325
C-style main function (ie: `int main(int argc, char *argv[])`).  From there you 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   326
should be able to create a single `SDL_Window` (WinRT apps can only have one 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   327
window, at present), as well as an `SDL_Renderer`.  Direct3D will be used to 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   328
draw content.  Events are received via SDL's usual event functions 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   329
(`SDL_PollEvent`, etc.)  If you have a set of existing source files and assets, 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   330
you can start adding them to the project now.  If not, or if you would like to 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   331
make sure that you're setup correctly, some short and simple sample code is 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   332
provided below.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   333
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   334
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   335
#### 6.A. ... when creating a new app ####
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   336
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   337
If you are creating a new app (rather than porting an existing SDL-based app), 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   338
or if you would just like a simple app to test SDL/WinRT with before trying to 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   339
get existing code working, some working SDL/WinRT code is provided below.  To 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   340
set this up:
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   341
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   342
1. right click on your app's project
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   343
2. select Add, then New Item.  An "Add New Item" dialog will show up.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   344
3. from the left-hand list, choose "Visual C++"
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   345
4. from the middle/main list, choose "C++ File (.cpp)"
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   346
5. near the bottom of the dialog, next to "Name:", type in a name for your 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   347
source file, such as, "main.cpp".
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   348
6. click on the Add button.  This will close the dialog, add the new file to 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   349
your project, and open the file in Visual C++'s text editor.
9143
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   350
7. Copy and paste the following code into the new file, then save it.
9139
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   351
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   352
9143
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   353
    #include <SDL.h>
9139
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   354
    
9143
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   355
    int main(int argc, char **argv)
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   356
    {
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   357
        SDL_DisplayMode mode;
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   358
        SDL_Window * window = NULL;
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   359
        SDL_Renderer * renderer = NULL;
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   360
        SDL_Event evt;
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   361
    
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   362
        if (SDL_Init(SDL_INIT_VIDEO) != 0) {
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   363
            return 1;
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   364
        }
9139
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   365
    
9143
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   366
        if (SDL_GetCurrentDisplayMode(0, &mode) != 0) {
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   367
            return 1;
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   368
        }
9139
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   369
    
9143
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   370
        if (SDL_CreateWindowAndRenderer(mode.w, mode.h, SDL_WINDOW_FULLSCREEN, &window, &renderer) != 0) {
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   371
            return 1;
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   372
        }
9139
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   373
    
9143
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   374
        while (1) {
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   375
            while (SDL_PollEvent(&evt)) {
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   376
            }
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   377
    
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   378
            SDL_SetRenderDrawColor(renderer, 0, 255, 0, 255);
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   379
            SDL_RenderClear(renderer);
b664273a455c Fixed doxygen warning and markdown formatting.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 9141
diff changeset
   380
            SDL_RenderPresent(renderer);
9139
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   381
        }
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   382
    }
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   383
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   384
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   385
#### 6.B. Adding code and assets ####
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   386
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   387
If you have existing code and assets that you'd like to add, you should be able 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   388
to add them now.  The process for adding a set of files is as such.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   389
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   390
1. right click on the app's project
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   391
2. select Add, then click on "New Item..."
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   392
3. open any source, header, or asset files as appropriate.  Support for C and 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   393
C++ is available.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   394
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   395
Do note that WinRT only supports a subset of the APIs that are available to 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   396
Win32-based apps.  Many portions of the Win32 API and the C runtime are not 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   397
available.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   398
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   399
A list of unsupported C APIs can be found at 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   400
<http://msdn.microsoft.com/en-us/library/windows/apps/jj606124.aspx>
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   401
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   402
General information on using the C runtime in WinRT can be found at 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   403
<http://msdn.microsoft.com/en-us/LIBRARY/hh972425(v=vs.110).aspx>
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   404
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   405
A list of supported Win32 APIs for Windows 8/RT apps can be found at 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   406
<http://msdn.microsoft.com/en-us/library/windows/apps/br205757.aspx>.  To note, 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   407
the list of supported Win32 APIs for Windows Phone 8 development is different.  
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   408
That list can be found at 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   409
<http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj662956(v=vs.105).aspx>
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   410
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   411
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   412
### 7. Build and run your app ###
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   413
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   414
Your app project should now be setup, and you should be ready to build your app.  
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   415
To run it on the local machine, open the Debug menu and choose "Start 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   416
Debugging".  This will build your app, then run your app full-screen.  To switch 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   417
out of your app, press the Windows key.  Alternatively, you can choose to run 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   418
your app in a window.  To do this, before building and running your app, find 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   419
the drop-down menu in Visual C++'s toolbar that says, "Local Machine".  Expand 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   420
this by clicking on the arrow on the right side of the list, then click on 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   421
Simulator.  Once you do that, any time you build and run the app, the app will 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   422
launch in window, rather than full-screen.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   423
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   424
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   425
#### 7.A. Running apps on ARM-based devices ####
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   426
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   427
To build and run the app on ARM-based, "Windows RT" devices, you'll need to:
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   428
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   429
- install Microsoft's "Remote Debugger" on the device.  Visual C++ installs and 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   430
  debugs ARM-based apps via IP networks.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   431
- change a few options on the development machine, both to make sure it builds 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   432
  for ARM (rather than x86 or x64), and to make sure it knows how to find the 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   433
  Windows RT device (on the network).
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   434
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   435
Microsoft's Remote Debugger can be found at 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   436
<http://msdn.microsoft.com/en-us/library/vstudio/bt727f1t.aspx>.  Please note 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   437
that separate versions of this debugger exist for different versions of Visual 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   438
C++, one for debugging with MSVC 2012, another for debugging with MSVC 2013.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   439
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   440
To setup Visual C++ to launch your app on an ARM device:
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   441
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   442
1. make sure the Remote Debugger is running on your ARM device, and that it's on 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   443
   the same IP network as your development machine.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   444
2. from Visual C++'s toolbar, find a drop-down menu that says, "Win32".  Click 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   445
   it, then change the value to "ARM".
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   446
3. make sure Visual C++ knows the hostname or IP address of the ARM device.  To 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   447
   do this:
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   448
    1. open the app project's properties
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   449
    2. select "Debugging"
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   450
    3. next to "Machine Name", enter the hostname or IP address of the ARM 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   451
       device
9209
e78fb0f4f9f9 WinRT: made README-winrt.md slightly easier to read in an 80-column text editor
David Ludwig <dludwig@pobox.com>
parents: 9208
diff changeset
   452
    4. if, and only if, you've turned off authentication in the Remote Debugger,
e78fb0f4f9f9 WinRT: made README-winrt.md slightly easier to read in an 80-column text editor
David Ludwig <dludwig@pobox.com>
parents: 9208
diff changeset
   453
       then change the setting for "Require Authentication" to No
9139
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   454
    5. click "OK"
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   455
4. build and run the app (from Visual C++).  The first time you do this, a 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   456
   prompt will show up on the ARM device, asking for a Microsoft Account.  You 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   457
   do, unfortunately, need to log in here, and will need to follow the 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   458
   subsequent registration steps in order to launch the app.  After you do so, 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   459
   if the app didn't already launch, try relaunching it again from within Visual 
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   460
   C++.
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   461
b2231eba36f5 WinRT: added manual, app-setup instructions to the README
David Ludwig <dludwig@pobox.com>
parents: 9138
diff changeset
   462
9200
bfdc18891a60 WinRT: detailed steps, via the WinRT README, to fix a common build error
David Ludwig <dludwig@pobox.com>
parents: 9150
diff changeset
   463
Troubleshooting
bfdc18891a60 WinRT: detailed steps, via the WinRT README, to fix a common build error
David Ludwig <dludwig@pobox.com>
parents: 9150
diff changeset
   464
---------------
bfdc18891a60 WinRT: detailed steps, via the WinRT README, to fix a common build error
David Ludwig <dludwig@pobox.com>
parents: 9150
diff changeset
   465
bfdc18891a60 WinRT: detailed steps, via the WinRT README, to fix a common build error
David Ludwig <dludwig@pobox.com>
parents: 9150
diff changeset
   466
#### Build fails with message, "error LNK2038: mismatch detected for 'vccorlib_lib_should_be_specified_before_msvcrt_lib_to_linker'"
bfdc18891a60 WinRT: detailed steps, via the WinRT README, to fix a common build error
David Ludwig <dludwig@pobox.com>
parents: 9150
diff changeset
   467
bfdc18891a60 WinRT: detailed steps, via the WinRT README, to fix a common build error
David Ludwig <dludwig@pobox.com>
parents: 9150
diff changeset
   468
Try adding the following to your linker flags.  In MSVC, this can be done by
bfdc18891a60 WinRT: detailed steps, via the WinRT README, to fix a common build error
David Ludwig <dludwig@pobox.com>
parents: 9150
diff changeset
   469
right-clicking on the app project, navigating to Configuration Properties ->
bfdc18891a60 WinRT: detailed steps, via the WinRT README, to fix a common build error
David Ludwig <dludwig@pobox.com>
parents: 9150
diff changeset
   470
Linker -> Command Line, then adding them to the Additional Options
bfdc18891a60 WinRT: detailed steps, via the WinRT README, to fix a common build error
David Ludwig <dludwig@pobox.com>
parents: 9150
diff changeset
   471
section.
bfdc18891a60 WinRT: detailed steps, via the WinRT README, to fix a common build error
David Ludwig <dludwig@pobox.com>
parents: 9150
diff changeset
   472
bfdc18891a60 WinRT: detailed steps, via the WinRT README, to fix a common build error
David Ludwig <dludwig@pobox.com>
parents: 9150
diff changeset
   473
* For Release builds / MSVC-Configurations, add:
bfdc18891a60 WinRT: detailed steps, via the WinRT README, to fix a common build error
David Ludwig <dludwig@pobox.com>
parents: 9150
diff changeset
   474
bfdc18891a60 WinRT: detailed steps, via the WinRT README, to fix a common build error
David Ludwig <dludwig@pobox.com>
parents: 9150
diff changeset
   475
    /nodefaultlib:vccorlib /nodefaultlib:msvcrt vccorlib.lib msvcrt.lib
bfdc18891a60 WinRT: detailed steps, via the WinRT README, to fix a common build error
David Ludwig <dludwig@pobox.com>
parents: 9150
diff changeset
   476
bfdc18891a60 WinRT: detailed steps, via the WinRT README, to fix a common build error
David Ludwig <dludwig@pobox.com>
parents: 9150
diff changeset
   477
* For Debug builds / MSVC-Configurations, add:
bfdc18891a60 WinRT: detailed steps, via the WinRT README, to fix a common build error
David Ludwig <dludwig@pobox.com>
parents: 9150
diff changeset
   478
bfdc18891a60 WinRT: detailed steps, via the WinRT README, to fix a common build error
David Ludwig <dludwig@pobox.com>
parents: 9150
diff changeset
   479
    /nodefaultlib:vccorlibd /nodefaultlib:msvcrtd vccorlibd.lib msvcrtd.lib
bfdc18891a60 WinRT: detailed steps, via the WinRT README, to fix a common build error
David Ludwig <dludwig@pobox.com>
parents: 9150
diff changeset
   480