ヒント: ツールを実行する前に、Vitis 環境の設定 に説明されているように、コマンド シェルまたはウィンドウを設定します。
ホスト アプリケーションの各ソース ファイルは、
g++
コンパイラを使用してオブジェクト ファイル (.o) にコンパイルされます。g++ ... -c <source_file1> <source_file2> ... <source_fileN>
生成されたオブジェクト ファイル (.o) がザイリンクス ランタイム共有ライブラリとリンクされ、実行可能なホスト プログラムが作成されます。リンクを実行するには、
-l
オプションを使用します。g++ ... -l <object_file1.o> ... <object_fileN.o>
x86 用のコンパイルおよびリンクは、標準 g++
フローに従います。唯一の要件は、XRT ヘッダー ファイルを含め、XRT 共有ライブラリをリンクすることです。
ソース コードをコンパイルするには、次の g++
オプションが必要です。
-
-I$XILINX_XRT/include/
: XRT インクルード ディレクトリ。 -
-I$XILINX_VIVADO/include
: Vivado ツールのインクルード ディレクトリ。 -
-std=c++11
: C++ 言語標準を定義します。
実行ファイルをリンクする際、次の g++ オプションが必要です。
-
-L$XILINX_XRT/lib/
: XRT ライブラリを検索します。 -
-lOpenCL
: リンク時に指定のライブラリを検索します。 -
-lpthread
: リンク時に指定のライブラリを検索します。 -
-lrt
: リンク時に指定のライブラリを検索します。 -
-lstdc++
: リンク時に指定のライブラリを検索します。
注記:
Vitis Examples では、xcl2.cpp ソース ファイルおよび
-I../libs/xcl2
インクルード文が追加されている例があります。ホスト プログラムおよび g++
コマンドにこれらを追加すると、サンプル コードで使用されるヘルパー ユーティリティにアクセスできますが、通常は不要です。XRT ネイティブ API の構築
XRT には、XRT サイトの https://xilinx.github.io/XRT/2020.2/html/xrt_native_apis.html で説明されるように、C 、C++、および Python 用のネイティブ XRT API が含まれます。ネイティブ XRT API を使用するには、ホスト アプリケーションが xrt_coreutil
ライブラリにリンクしている必要があります。コマンド ラインでは、次のコンパイルとリンクをまとめた例で示すように、いくつかの異なる設定が使用されます。
g++ -g -std=c++14 -I$XILINX_XRT/include -L$XILINX_XRT/lib -lxrt_coreutil -lpthread \
-o host.exe host.cpp
重要: XRT API には、
-std=c++14
を使用する必要があります。