wiki:Getting-Started/Windows-Phone

Version 6 (modified by riza, 3 years ago) (diff)

--

Getting Started: Building for Windows Phone 8.x and UWP

  1. Build Preparation
  2. Requirements
    1. Tools and SDKs
    2. Host requirements
  3. Building and running the Projects
    1. Windows Phone 8.x
    2. UWP
  4. Debugging Application
    1. Assert Problem on Debugging Native Code
  5. Other References

Build Preparation

Requirements

Tools and SDKs

The Visual Studio based project files can be used with one of the following tools:

  • Microsoft Visual Studio 2015.

Windows Phone 8.x SDK

Configuring Windows Phone 8.x for Development

UWP SDK

Configuring Windows Phone 10 for Development

Host requirements

For the host, the following are required:

  • Operating System type : 64-bit Windows 8 Professional or higher.

Building and running the Projects

Windows Phone 8.x

Follow the steps below to build the libraries/application using Visual Studio:

  1. Open pjproject-vs14.sln solution file.
  2. Set API_Family on pjproject-vs14-api-def.props to Winphone8
  3. Set pjsua_cli_wp as Active or Startup Project.
  4. Set ARM as the target platform.
  5. Select Debug or Release build as appropriate.
  6. Build the project. This will build pjsua_cli_wp application and all libraries needed by pjsua_cli_wp.
  7. Run/deploy the pjsua_cli_wp application on a registered Windows phone device.
  8. You will see telnet instructions on the device's screen. Telnet to this address to operate the application. See PJSUA CLI Manual for command reference.

UWP

  1. Open pjproject-vs14.sln solution file.
  2. Set API_Family on pjproject-vs14-api-def.props to UWP
  3. Set Voip as Active or Startup Project.
  4. Set ARM as the target platform for Windows Phone Device, otherwise set Win32 as the target
  5. Select Debug or Release build as appropriate.
  6. Build the project. This will build Voip application and all libraries needed by Voip.
  7. Run/deploy the Voip application on a Windows 10 device

Debugging Application

To Debug native(C/C++) part of the application:

  • Set the Debugger type of project properties [Debug menu] to Native Only.

To Debug managed(C#) part of the application:

  • Set the Debugger type of project properties [Debug menu] to Managed Only.

Assert Problem on Debugging Native Code

As described here, assertion will cause process exiting (instead of just stopping). Adding the following code in the application would make process stopping on assertion:

#ifndef NDEBUG   
signal(SIGABRT, [](int)
{
   __debugbreak();  
}); 
#endif

Other References