Difference between revisions of "Creating bindings for C libraries"

From Lazarus wiki
Jump to navigationJump to search
Line 1: Line 1:
 
=Overview=
 
=Overview=
  
This page describes how to create ''pascal bindings'' for ''C libraries''. Normally Pascal can not use C libraries directly. You have to create for every C function, type, variable a pascal translation. There is the ''h2pas'' tool, which can automatically translate many common C things. And there is a GUI for Lazarus using h2pas and other tools to automate the creation, so that if the bindings needs to be updated you don't have to restart all over.
+
This page describes how to create '''pascal bindings''' for '''C libraries'''. Normally Pascal can not use C libraries directly. You have to create for every C function, type, variable a pascal translation. There is the '''h2pas''' tool, which can automatically translate many common C things. And there is a GUI for Lazarus using h2pas and other tools to automate the creation, so that if the bindings needs to be updated you don't have to restart all over.
 +
 
 +
==Work flow==
 +
 
 +
*Fetch the C header files you want to translate.
 +
*Create a working directory and give your bindings a name
 +
*Create a new h2pas project with the h2pas wizard.
 +
*add the .h files to the project
 +
*setup the h2pas options
 +
*run the wizard
 +
*fix errors by adding text tools and run the wizard again
 +
*when h2pas runs without errors add optional tools to beautify the output
 +
*publish your bindings on lazarus-ccr or Free Pascal
  
 
=Install tools=
 
=Install tools=

Revision as of 23:12, 20 September 2006

Overview

This page describes how to create pascal bindings for C libraries. Normally Pascal can not use C libraries directly. You have to create for every C function, type, variable a pascal translation. There is the h2pas tool, which can automatically translate many common C things. And there is a GUI for Lazarus using h2pas and other tools to automate the creation, so that if the bindings needs to be updated you don't have to restart all over.

Work flow

  • Fetch the C header files you want to translate.
  • Create a working directory and give your bindings a name
  • Create a new h2pas project with the h2pas wizard.
  • add the .h files to the project
  • setup the h2pas options
  • run the wizard
  • fix errors by adding text tools and run the wizard again
  • when h2pas runs without errors add optional tools to beautify the output
  • publish your bindings on lazarus-ccr or Free Pascal

Install tools

The h2pas tool comes with every normal fpc installation.

Install the h2paswizard package in the Lazarus IDE. Go to "Components -> Configure installed packages ...", select from the right list the H2PasWizard package and click 'Install selection', then 'Save and rebuild IDE'. Restart the IDE and you get a new menu entry: Tools -> h2pas

C header files