提示: 运行工具前,请按 设置 Vitis 环境 中所述方式设置命令 shell 或窗口。
为 x86 执行编译和链接遵循标准 g++
流程。唯一要求是包含 XRT 头文件,并链接 XRT 共享库。使用 g++
编译器将主机应用的每个源文件都编译到对象文件 (.o) 中。生成的对象文件 (.o) 使用 g++ -l
选项与 Xilinx Runtime (XRT) 共享库相链接以创建可执行的主机程序。
您可使用 Xilinx Runtime (XRT) 本机 C++ API 以本机 C++ 语言来编写主机应用。所需的 include 文件和库视您的主机应用使用的 API 以及主机代码的任意具体要求而定。
要使用此 XRT 本机 API,主机应用必须与 xrt_coreutil
库相链接。命令行使用另一组不同设置(如下示例所示)来组合编译和链接进程:
$CXX -std=c++17 -O0 -g -Wall -c -I./src -o host.o sw/host.cpp
使用 XRT 本机 API 编译源代码时,需以下 g++
选项:
-
-std=c++17
:定义 C++ 语言标准。使用 XRT 本机 C++ API 编译主机代码需要 C++ 标准和-std=c++17
或更高版本。但是,在早于 4.9.0 的 GCC 版本上,请改为使用-std=c++1y
。 -
-I$XILINX_XRT/include/
:XRT 的 include 目录 -
-I${XILINX_VITIS}/aietools/include
:AI 引擎的 include 目录 -
-I./src/aie
:包含 AI 引擎计算图与内核源文件
链接可执行文件时,需以下 g++
选项:
-
-L$XILINX_XRT/lib/
:在 XRT 库中查找。 -
-lxrt_coreutil
:在链接期间搜索指定的库。 -
-pthread
:在链接期间搜索指定的库。
基于所需 XRT API 链接主机应用并生成可执行文件的命令:
g++ *.o -lxrt_coreutil -L${XILINX_XRT}/lib -o $(EXECUTABLE)
ADF API:
为了使用 ADF API,主机应用编译命令如下所示:
g++ -Wall -c -std=c++17 -Wno-int-to-pointer-cast -I${XILINX_XRT}/include \
-I./src/aie -I./ -I${XILINX_VITIS}/aietools/include \
-o aie_control_xrt.o ./Work/ps/c_rts/aie_control_xrt.cpp$
以下命令用于根据所需 XRT API 链接主机应用并生成可执行文件:
-ladf_api_xrt -L${XILINX_VITIS}/aietools/lib/lnx64.o