# C API Samples

> The eXtremeDB package you have installed contains dozens of C API samples demonstrating individual features. All of the necessary source code, tools and scripts are provided to make building and running these samples simple and easy. The build procedure will vary slightly depending on your development platform. Please follow the steps outlined below for your development environment. Then use the links for the desired group of samples from the table under Running SDK Samples to view explanations of the individual samples and instructions for running them.

> ## Unix-Linux build procedure

> For Unix-Linux packages, a makefile is provided in the installation root directory as well as in each sample sub-directory.

> To build all samples simply run the make utility. For x64 packages it is necessary to indicate whether you are building with 64 or 32 bit system libraries. This is done by specifying `x64=on` or `x64=off` on the make command line. For example to build all samples with 64 bit system libraries, use the following command:

>         make x64=on

> (For source code packages, if it is necessary to rebuild the eXtremeDB libraries, the build procedure is described here .)

> ## Windows build procedure

> Windows packages are built for the specific version of Visual Studio requested in the purchase order. Solution files are provided in the installation root directory, and individual project files are provided in each sample directory according to the components of your package. The solution file can be opened directly in Visual Studio to build the individual sample projects or "Batch build" the entire group of projects.

> The following solution files are provided according to the components of your package:

> All Packages
> samples-core.sln | Solution file for C and C++ sample applications
> samples.dotnet.sln | Solution file for .NET Framework (C#) sample applications
> With eXtremeSQL
> samples-sql.sln | Solution file for embedded SQL sample applications
> With Cluster
> samples-cluster.sln | Solution file for C and C++ Cluster sample applications
> With High Availability
> samples-ha.sln | Solution file for C and C++ High Availability sample applications
> With Transaction Logging
> samples-log.sln | Solution file for C and C++ Transaction Logging sample applications

> Alternatively, a `make.bat` command file is provided that can be run in a console window. Please see here for these special build details.

> ## Integrity OS build procedure

> The eXtremeDB packages for Integrity provide host-side utilities for both Linux and Windows operating systems. The packages include pre-generated schema files for all SDK samples. In order to re-generate the SDK samples implementation files, use the `compile-schema.sh` file located in the `/samples` directory. (To build the eXtremeDB runtime libraries, please follow the steps outlined here.)

> ## VxWorks build procedure

> The eXtremeDB packages for VxWorks provide host-side utilities for both Linux and Windows operating systems. To build and run VxWorks samples, please follow the steps outlined here. (To build the eXtremeDB runtime libraries, please follow the steps outlined here.)

## Running SDK Samples

> Please use the links in the following table to view instructions for running the individual samples in each group.

> All Packages
> \native\common | Helper functions common to several C and C++ samples
> \native\core | C and C++ sample applications
> \native\tl | C and C++ Transaction Logging sample applications
> \native\sequences | C and C++ sample applications using `sequence` (time series) data
> Windows Packages only
> \csharp | .NET Framework (C#) sample applications
> With eXtremeSQL
> \native\common | Additional helper functions common to several C and C++ embedded SQL sample applications
> \native\sql | Embedded SQL sample applications
> \xsql | Sample xSQL scripts and configuration files
> With High Availability
> \native\ha | C and C++ High Availability sample applications
> \native\cluster | C and C++ Cluster sample applications