P4 API for C/C++ requirements

For system requirements, see the P4 API for C/C++ Release notes.

Breaking change in 2026.1: Build dependency update (Windows)

Updated bundled third-party components (including libcurl) to address security issues. As a result, Windows builds using the P4 API for C/C++ now require additional system libraries:

  • iphlpapi.lib

  • bcrypt.lib

Existing applications may fail to link until these libraries are added to the build configuration. For a full list of required libraries for Windows, see Additional system libraries (Windows).

Platform compatibility

P4 API for C/C++ is certified and regression-tested on the following platforms:

Windows

  • Intel (ntx86, ntx64)

  • ARM (ntarm64) - experimental

macOS

  • Intel: macOS 10, 11, 12

  • Apple Silicon (ARM64): macOS 12, 13, 14, 15

Linux

  • Kernel 2.6+ on Intel (x86_64)

  • Kernel 2.6+ on ARM (aarch64)

Platform end-of-life notice

The following platform is in the Discontinued (EOL) phase:

  • macOS 10.12 on Intel (x86_64)

Patches are no longer provided. Technical support is no longer available for this platform.

SSL support

Beginning with the 2017.1 release of the P4 API for C/C++:

  • OpenSSL is required.

  • The SSL stub library has been removed.

Applications built with the P4 API for C/C++ must link against a supported OpenSSL library.

Use the latest version: OpenSSL 3.0.x (latest patch release)