[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/apache/iotdb/dev/1.3/example/client-cpp-example/README_zh.md [Back]  [Original]


# IoTDB C++ 

[English](README.md)

 **IoTDB C++ Session SDK**`iotdb_session`
 ****  Thrift  Boost / SDK


 IoTDB`127.0.0.1:6667` `root` /  `root`

|  |  |
|------|------|
| `SessionExample` |  |
| `AlignedTimeseriesSessionExample` |  |
| `MultiSvrNodeClient` | / |
| `tree_example` | C Session API |

##  SDK 

CI [client-cpp-package.yml](../../.github/workflows/client-cpp-package.yml)
/ zip
`client-cpp--.zip` `include/`  `lib/`

|  | classifier  |
|----------|-----------------|
| Linux x86_64glibc  2.24CXX11 ABI**** | `linux-x86_64-glibc224` |
| Linux aarch64glibc  2.24CXX11 ABI**** | `linux-aarch64-glibc224` |
| Linux x86_64glibc  2.17 libstdc++ ABI | `linux-x86_64-glibc217` |
| Linux aarch64glibc  2.17 libstdc++ ABI | `linux-aarch64-glibc217` |
| macOS x86_64 | `mac-x86_64` |
| macOS arm64 | `mac-aarch64` |
| Windows +  VS  | `windows-x86_64-vs2017`  `vs2026` |

 CMake  Thrift 0.21****
`-Diotdb-tools-thrift.version=0.14.1.1-gcc4-SNAPSHOT`  glibc
Linux  glibc  2.24  `g++` **`glibc224`**
 glibc 2.17 CentOS 7 libstdc++ ABI 
 **`glibc217`**  Ubuntu 22/24  `glibc217` 
`-D_GLIBCXX_USE_CXX11_ABI=0` [client-cpp README](../../iotdb-client/client-cpp/README.md)

## SDK 

`client-cpp`  SDK  ****  ****

```
client/
 include/
    Session.h
    Export.h
    ...          17  thrift/boost/
 lib/
     iotdb_session.dll + iotdb_session.lib   Windows
     libiotdb_session.so                     Linux
     libiotdb_session.dylib                  macOS
```

## 

###  AMaven



```bash
mvn clean package -DskipTests -P with-cpp -pl example/client-cpp-example -am
```

Maven  SDK  `example/client-cpp-example/target/client/`
`target/`  CMake `target/`
Windows + Visual Studio  `target/Release/`

###  B CMake SDK

1.  SDK `client/include`  `client/lib`
   
2.  `src/*.{cpp,c}`  `src/CMakeLists.txt`  `src/`
    `client/`
3. 

```bash
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
```

WindowsVisual Studio 

```powershell
cmake -S . -B build -A x64
cmake --build build --config Release
```

IoTDB  POST_BUILD  **
**Linux/macOS  `$ORIGIN` rpath
`.so` / `.dylib`



```bash
cmake --build build --target example-dist
#  build/dist/ + libiotdb_session.{so,dll,dylib}
```

##  SDK 



1.  **IoTDB **
2. ****  **IoTDB **  ****
   

 `build/.../Release/`Windows `build/`Ninja/Make
 `example-dist`  `build/dist/`

### Windows

****

```
SessionExample.exe
iotdb_session.dll
```

 `iotdb_session.dll` 

****

- **64  Windows** x64 
-  **[Microsoft Visual C++ 20152022 x64](https://learn.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist)**  
  SDK  **`/MD`** CRT `vcruntime140.dll`
  `msvcp140.dll`   
  ** Redistributable ** **** Visual Studio
  **** IoTDB SDK  Thrift/Boost

****

```powershell
.\SessionExample.exe
```

 `VCRUNTIME140.dll` VC++ 

ThriftBoost  `iotdb_session.dll` 

### Linux

****

```
SessionExample
libiotdb_session.so
chmod +x SessionExample
```

****

-  **glibc    SDK  glibc **
   glibc 

 **** 

```bash
ldd --version | head -1
# ldd (Ubuntu GLIBC 2.35-0ubuntu3) 2.35
```

 **** 

```bash
ldd --version | head -1
#  >= 
```

 `GLIBC_` 

```bash
objdump -T SessionExample | grep GLIBC_ | sed 's/.*GLIBC_/GLIBC_/' | sort -Vu | tail -5
objdump -T libiotdb_session.so | grep GLIBC_ | sed 's/.*GLIBC_/GLIBC_/' | sort -Vu | tail -5
```

 glibc 
`version 'GLIBC_2.34' not found`
SDK

****`.so` 

```bash
./SessionExample
```



```bash
export LD_LIBRARY_PATH=.
./SessionExample
```

 Thrift

### macOS

 `libiotdb_session.dylib`  macOS 
 **  SDK  deployment target**

```bash
otool -L SessionExample
```

## 

- **Windows** SDK  **`/MD`** Visual Studio 
   `iotdb_session.lib` `iotdb_session.dll`
- **Linux** `libiotdb_session.so`
   `RPATH=$ORIGIN`
-  `127.0.0.1:6667`/

## 

```
client-cpp-example/
 pom.xml              # Maven SDK +  CMake
 README.md            # 
 README_zh.md         # 
 src/
     CMakeLists.txt
     SessionExample.cpp
     AlignedTimeseriesSessionExample.cpp
     MultiSvrNodeClient.cpp
     tree_example.c
```

 `mvn package`  `target/` `client/` SDK  CMake


Web Proxy Viewer  |  New URL  |  Original Page