Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

CEF C API (cefcapi)

A simple example on how to use the C API in Chromium Embedded Framework created by Czarek Tomczak. Example creates a window, embeds a browser inside that window and loads Google website. Shows how to implement dummy reference counting and CEF structures with callbacks to implement CEF handlers like cef_app_t, cef_client_t and cef_life_span_handler_t. To understand and implement real reference counting see the UsingTheCAPI wiki page in upstream CEF project.

Table of contents:



Tested configurations:

  • Windows:
    • Binary: cef_binary_3.3202.1692.g18a939d_windows32.tar.bz2
    • Compilers: mingw-gcc 5.3.0 and TDM-gcc 5.1.0 on Windows 7 64-bit
  • Linux:
    • Binary: cef_binary_3.3202.1692.g18a939d_linux64.tar.bz2
    • Compiler: Linux: gcc 4.8.2 on Ubuntu 14.04 64-bit
    • Compiler: gcc 6.3.0 on Debian 9.2 (stretch) 64-bit

Getting started

  1. Download "Standard Distribution" binaries from Spotify Automated Builds for the supported CEF version mentioned in the Compatibility section above:
  2. Create cefcapi/Release/ directory
  3. Copy cef_binary*/Release/* to cefcapi/Release/
  4. Copy cef_binary*/Resources/* to cefcapi/Release/
  5. On Linux run "make gtk2" (GTK+ 2 example) or "make gtk3" (GTK+ 3 example) in the root directory. Note that you may need to build CEF with "use_gtk3=true" to link it with GTK+ 3.
  6. On Windows run the "build.bat" script in the root directory

Support development

If you would like to support general CEF C API development efforts by making a donation please click the Paypal Donate button:

Updating CEF version

If you download a CEF version newer than 3.3202.1692 then apart from copying binaries to cefcapi/Release/ directory you will also have to update the include/ directory with CEF header files.

In the include/ directory you can find two files: "cef_version_win.h" and "cef_version_linux.h" - these header files were copied from CEF binary distributions for appropriate platforms and their original file names were "cef_version.h".