Saturday, December 9, 2017

c# - MonoGame Cross-Platform Conditional Compilation Symbols



What are the possible compiler directives for MonoGame?


For example, XNA contained directives for WINDOWS, XBOX/XBOX360, and WINDOWS_PHONE.


I've also seen DIRECTX and OPENGL, but when would you need to leverage those?




Supported Platforms:



  • PC

  • Windows 8 Store App

  • Linux

  • Android


  • OUYA

  • Mac

  • iOS

  • Playstation Mobile



Answer



If you look inside each project file on github you can see the constants defined for each platform. I've extracted them here:



  • Android - TRACE;ANDROID;GLES;OPENGL

  • Linux - LINUX;OPENGL


  • MacOS - MONOMAC;OPENGL

  • Ouya - TRACE;ANDROID;GLES;OPENGL;OUYA

  • PSMobile - DEBUG;PSM

  • Windows - DEBUG;TRACE;WINDOWS;DIRECTX;WINDOWS_MEDIA_SESSION

  • Windows8 - TRACE;NETFX_CORE;WINRT;WINDOWS_STOREAPP;DIRECTX;DIRECTX11_1;WINDOWS_MEDIA_ENGINE

  • WindowsGL - TRACE;WINDOWS;OPENGL

  • WindowsPhone - TRACE;DEBUG;SILVERLIGHT;WINDOWS_PHONE;WINRT;DIRECTX

  • iOS - IOS;GLES;OPENGL


No comments:

Post a Comment

Simple past, Present perfect Past perfect

Can you tell me which form of the following sentences is the correct one please? Imagine two friends discussing the gym... I was in a good s...