diff --git a/sdk/README.md b/sdk/README.md index 7b0d6f32f72410b043c2b3f521c4ff062e95ec34..a57c698b907d95f7b4b7ae56817e4531c1f6edc9 100644 --- a/sdk/README.md +++ b/sdk/README.md @@ -1,40 +1,39 @@ +# Milvus C++ SDK + +### Get C++ SDK + +If you compile Milvus from source, C++ SDK is already in `[Milvus root path]/sdk`. If you install Milvus from Docker images, you need to download the whole `sdk` folder to your host. + +### Requirements + +CMake 3.14 or higher + ### Build C++ SDK -The C++ SDK source code is under milvus/sdk. -If you want to build sdk project, follow below steps: +You must build the C++ SDK before using it: + ```shell - # build project + # build C++ SDK $ cd [Milvus root path]/sdk $ ./build.sh ``` ### Try C++ example -Firstly, you need to start a Milvus server. -If you've already built the entire milvus project, just start Milvus server with the following command: -```shell - # start milvus server - $ cd [Milvus root path]/core - $ ./start_server.sh -``` -You can also use Docker to start Milvus server: -```shell - # pull milvus docker image and start milvus server - $ docker pull milvusdb/milvus:latest - $ docker run --runtime=nvidia -p 19530:19530 -d milvusdb/milvus:latest -``` +You must have a running Milvus server to try the C++ example. Refer to [Milvus Documentation](https://milvus.io/docs/guides/get_started/install_milvus/install_milvus.md) to learn how to install and run a Milvus server. Run C++ example: -```shell - # run milvus C++ example + ```shell + # run Milvus C++ example $ cd [Milvus root path]/sdk/cmake_build/examples/simple $ ./sdk_simple -``` + ``` -### Make your own C++ client project +### Create your own C++ client project Create a folder for the project, and copy C++ SDK header and library files into it. + ```shell # create project folder $ mkdir MyMilvusClient @@ -46,8 +45,9 @@ Create a folder for the project, and copy C++ SDK header and library files into $ cp [Milvus root path]/sdk/include/Status.h . ``` -Create file main.cpp in the project folder, and copy the following code into it: -```shell +Create file `main.cpp` in the project folder, and copy the following code into it: + +```c++ #include "./MilvusApi.h" #include "./Status.h" @@ -64,28 +64,32 @@ int main() { } ``` -Create file CMakeList.txt in the project folder, and copy the following code into it: -```shell +Create file `CMakeLists.txt` in the project folder, and copy the following code into it: + +```bash cmake_minimum_required(VERSION 3.14) project(test) - set(CMAKE_CXX_STANDARD 14) + set(CMAKE_CXX_STANDARD 17) add_executable(milvus_client main.cpp) target_link_libraries(milvus_client - ${PROJECT_SOURCE_DIR}/libmilvus_sdk.so) + ${PROJECT_SOURCE_DIR}/libmilvus_sdk.so + pthread) ``` Now there are 5 files in your project: + ```shell MyMilvusClient - |-CMakeList.txt + |-CMakeLists.txt |-main.cpp |-libmilvus_sdk.so |-MilvusApi.h |-Status.h - ``` +``` Build the project: + ```shell $ mkdir cmake_build $ cd cmake_build @@ -94,6 +98,7 @@ Build the project: ``` Run your client program: + ```shell $ ./milvus_client -``` \ No newline at end of file +```