编译可执行文件
本小节主要讲解本如何如何在 Windows 环境下使用 Visual Studio 2022、在 Linux环境(以 RedHat 为例),以及在 Windows 环境下使用 MinGW 编译一个可执行文件,并链接上一对应小节生成的 API 动态库以连接数据库。
Note: 这部分的工程存在于 API 源码中的 demo 文件夹内
Windows 环境下使用 Visual Studio 2022编译
- 将 编译方法 步骤中生成的 C++ API 动态库拷贝到 demo/lib 目录下。
- 在 PowerShell 中执行下述命令:
cd path/to/api-cplusplus/demo mkdir build && cd build cmake .. -DCMAKE_BUILD_TYPE=Release cmake --build . --config Release
- 生成的可执行文件 apiDemo.exe 在 demo\bin\Release 目录下。
- 将所依赖的动态库(DolphinDBAPI 动态库以及 OpenSSL 等依赖库)拷贝到可执行文件所在目录即可执行。
Windows 环境下使用 MinGW 编译
- 将 编译方法 中生成的C++ API 动态库拷贝到 demo/lib 目录下。
- 在 PowerShell 中执行下述命令:
cd path/to/api-cplusplus/demo mkdir build && cd build cmake .. -DCMAKE_BUILD_TYPE=Release cmake --build . --config Release
- 生成的可执行文件 apiDemo.exe 在 demo\bin 目录下。
- 将所依赖的动态库(DolphinDBAPI 动态库以及 OpenSSL 等依赖库)拷贝到可执行文件所在目录即可执行。
Linux 环境下编译(以 RedHat 为例)
- 将 编译方法 中生成的 libDolphinDBAPI.so 拷贝到 demo/lib 目录下.
- 在终端中执行下述命令:
cd path/to/api-cplusplus/demo mkdir build && cd build cmake .. -DABI=0 -DUSE_OPENSSL=1 -DOPENSSL_PATH=/home/openssl/ cmake --build .
cmake各项参数说明如下所示,注意 ABI 的值必须相同:
- -DABI=0:用来指定编译时_GLIBCXX_USE_CXX11_ABI的值,可以设置为1或者0。
- -DUSE_OPENSSL=1: 如果想使用 openssl 来加密 AP I和 DolphinDB 之间的通信,则必须指定该参数。指定后编译API动态库时会去链接 ssl 以及 crypto 动态库。
- -DOPENSSL_PATH=/path/to/openssl:如果系统中没有安装 openssl,则可以通过该参数来指定 OPENSSL 路径。
- 生成的可执行文件 apiDemo 在 demo\bin 目录下。