You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Bazel之外的构建系统构建调用Ray C++ API的C++应用?

使用CMake/Make构建Ray C++应用的实践

当然有不少开发者尝试过用CMake或Make替代Bazel来构建依赖Ray C++ API的应用,下面分享两种实用的配置方式:

CMake 配置示例

如果你的系统已安装Ray,或通过源码编译完成,可以用以下CMakeLists.txt模板:

cmake_minimum_required(VERSION 3.18)
project(ray_cpp_demo)

# 指定C++17标准(Ray C++ API要求)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# 自动查找Ray库(适用于系统级安装或已配置环境变量的情况)
find_package(Ray REQUIRED)

# 若Ray是自定义路径安装,可手动指定头文件和库路径
# include_directories(/your/custom/ray/install/include)
# link_directories(/your/custom/ray/install/lib)

# 生成可执行文件
add_executable(ray_demo main.cpp)
# 链接Ray核心库
target_link_libraries(ray_demo PRIVATE ray::ray)

编译步骤:

mkdir build && cd build
cmake ..
make

Makefile 配置示例

手动编写Makefile的话,需明确指定依赖路径和链接库:

CXX = g++
# 编译参数:C++17标准 + Ray头文件路径
CXXFLAGS = -std=c++17 -O2 -I/path/to/ray/include
# 链接参数:Ray库路径 + 依赖库
LDFLAGS = -L/path/to/ray/lib -lray -pthread

# 构建目标
all: ray_demo

ray_demo: main.cpp
	$(CXX) $(CXXFLAGS) $^ -o $@ $(LDFLAGS)

# 清理生成文件
clean:
	rm -f ray_demo

编译直接执行:

make

注意事项

  • Ray C++ API依赖C++17及以上版本,编译时必须指定对应标准
  • 若从源码编译Ray,需确保开启了C++组件(默认开启,自定义编译可添加BUILD_CPP=ON参数)
  • 链接时可能需要额外添加-pthread等系统依赖库,具体视操作系统而定
  • 确认头文件和库路径指向正确,源码编译的Ray通常在build目录下生成include和lib文件夹

内容的提问来源于stack exchange,提问作者3rdgenta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 18:51:10