Which Libraries Should Be Linked Against?

Usually, the libraries needed by the Framework should be added through CMake. This is very straightforward, and involves including the CMakeLists.txt from the SDK, and relevant targets for the Framework modules. Our SDK examples show how to do this.

For a different build system, for example to link to pre-built binaries, build the Framework libraries with CMake and add the library outputs from wherever they were built. The libraries themselves are:

  • [lib]PVRCore.[ext] - such as PVRCore.lib, libPVRCore.a
  • [lib]PVRShell.[ext] - such as PVRShell.lib, libPVRShell.a
  • [lib]PVRAssets.[ext] - such as PVRAssets.lib, PVRAssets.a
  • (Vulkan) [lib]PVRVk.[ext] - such as PVRVk.lib, libPVRVk.a
  • [lib]PVRUtils[API].[ext] - such as PVRUtilsGles.lib, libPVRUtilsVk.a.

If CMake is used, the dependencies are transiently included through the CMake targets, together with include folders and everything else necessary. If some other way is used, the dependencies are as follows:

  • PVRCore: None
  • PVRShell: PVRCore
  • PVRAssets: PVRCore
  • PVRVk: None
  • PVRUtilsVk: PVRCore, PVRAssets, PVRVk
  • PVRUtilsGles: PVRCore, PVRAssets.

For Android, use the settings.gradle file to define any required Framework project's build-android folders as dependencies of the application. This is in addition to CMake.

If the PVRCamera module is required, build and include in the project the PVRCamera library, which is platform specific, not just native. See the IntroducingPVRCamera example for more information.