Files
FastDeploy/c_api/README.md
chenjian 4ee783b1ea [Tutorial Doc] add tutorial for how to use c and c sharp api (#1392)
* add tutorialfor how to use c and c sharp api

* update english doc

* update doc

* update doc

* update doc

* update doc

* update doc
2023-02-28 21:29:44 +08:00

40 lines
2.0 KiB
Markdown

# C API tutorial
This directory is the implementation of FastDeploy C SDK, which provides solutions for scenarios where users need C API.
## How to compile and install
When compiling the fastdeploy library, turn on the compile option --WITH_CAPI=ON to start compiling for this directory. The compiled C library and fastdeploy library are in the same dynamic library file, such as libfastdeploy.a under Linux. For example, to compile the CPU version of fastdeploy and compile the C API into the library, you can use the following command
```bash
git clone https://github.com/PaddlePaddle/FastDeploy.git
cd FastDeploy
mkdir build && cd build
cmake .. -DENABLE_ORT_BACKEND=ON \
-DENABLE_PADDLE_BACKEND=ON \
-DENABLE_OPENVINO_BACKEND=ON \
-DCMAKE_INSTALL_PREFIX=${PWD}/compiled_fastdeploy_sdk \
-DENABLE_VISION=ON \
-DWITH_CAPI=ON \
-DOPENCV_DIRECTORY=/usr/lib/x86_64-linux-gnu/cmake/opencv4 \
-DENABLE_TEXT=ON
make -j12
make install
```
For more details about compiling the fastdeploy library, please refer to the documentation
- [FastDeploy installation](../docs/en/build_and_install/README.md)
## How to use
The header files of the provided C API can be used. If it is manually compiled and installed, such as the above command, after `make install`, the header files will be in the directory ${PWD}/compiled_fastdeploy_sdk/include/fastdeploy_capi/. If it is a downloaded precompiled library, after decompression, include/fastdeploy_capi/ is the header file of the C API. For usage examples, please refer to the use cases under examples
- [paddleclas](../examples/vision/classification/paddleclas/c/README.md)
- [paddledetection](../examples/vision/detection/paddledetection/c/README.md)
- [pp-ocrv2](../examples/vision/ocr/PP-OCRv2/c/README.md)
- [paddleseg](../examples/vision/segmentation/paddleseg/cpu-gpu/c/README.md)
## Other documents
- [How to Develop C API for a New Model](../docs/en/faq/develop_c_api_for_a_new_model.md)
- [Vision Results](../docs/api/vision_results/README.md)