Difference between revisions of "Creating bindings for C libraries"
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