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)