/usr/local/cudaのinclude/libsを見るようにGCCとClangにどのように指示しますか?

/usr/local/cudaのinclude/libsを見るようにGCCとClangにどのように指示しますか?

私のシステムにCUDAがインストールされていますが、それに依存するライブラリがそのファイルを見つけることができないようです。 GCCとClangの両方がディレクトリの合計を.bashrc見るためにmyの後ろに何を追加する必要がありますか?/usr/local/cuda/include/usr/local/cuda/lib

答え1

GCC と Clang ドライバはどちらも次の環境変数を尊重します。

export C_INCLUDE_PATH=/usr/local/cuda/include
export CPLUS_INCLUDE_PATH=/usr/local/cuda/include
export LIBRARY_PATH=/usr/local/cuda/lib

マニュアルを確認してください。

答え2

あなたはこれをしなければなりません:

gcc -I/path_of_include_files -L/path_of_load_libraries_files 

-I注:次のようなことがあります-L

gcc -I. -L. -I../include -L../libs

答え3

どちらもあなたが望むことを達成するのに役立つかもしれないgccいくつかの環境変数を尊重します。clang以下を次の項目に追加してみてください~/.bashrc

export CFLAGS="-I /usr/local/cuda/include"
export LDFLAGS="-L /usr/local/cuda/lib"

ただし、これは通常グローバルレベルでは行われません。プロジェクトごとに異なるインクルードとライブラリが必要なので、Makefile使用するのが最善です./configure

答え4

利用可能なものがあれば、pkgconfigそれを使用して適切なGCCフラグを追加できます。

$(pkg-config --cflags cuda) $(pkg-config --libs cuda)

たとえば、

gcc filename.c -o outputfile $(pkg-config --cflags --libs cuda) 

Makefileでは、通常は次のようになります。

CFLAGS += $(pkg-config --cflags cuda)
LIBS += $(pkg-config --libs cuda)

関連情報