質問
私のプログラミングの経験は、高校からのC/C ++の経験の約1年ですが、数か月前にOpenCLで簡単なプログラムを作成しました。 G ++と - フレームワークオプションを使用して、比較的簡単にAppleコンピューターでこれをコンパイルして実行することができました。今、私はubuntuマシンに乗っていて、それをコンパイルする方法がわかりません。正しいドライバーはATIのストリームSDKとともにダウンロードされています(ATI Radeon HD5870があります)。どんな助けも感謝します!
解決
試す
locate libOpenCL.so
標準的なディレクトリの1つ(最も可能性が高い/usr/lib、または/usr/local/lib)にある場合は、「 - framework opencl」を「-lopencl」に置き換える必要があります。 g ++がlibを見つけることができない場合、「-l/path/to/bribrical」を追加して、G ++に特定のディレクトリを調べるように指示できます。
Linuxがもっと役立つことを願っています... ATI-Stream-SDKを抽出した後、ターミナルを開き、「CD/PATH/to/Extracted/ファイル」を開いた後、おそらく最善です。そのディレクトリで実行されます make && sudo make install
make
あなたはおそらくこれをWindowsから知っています、これはコンパイルする必要があるものを何でもコンパイルします&&
Chainsコマンドを一緒にコマンドすると、最初のコマンドが成功した場合にのみ、次のコマンドが実行されますsudo make install
これにより、ファイルが予想される場所にファイルが配置されます(SudoはSuperuserの特権を持つコマンドを実行します。パスワードを入力する必要があります)
それが役立つことを願っています。
他のヒント
動的リンカー構成から動的ライブラリが欠落している可能性があります。
図書館がある場所を検索します。最も可能性が高い/usr/lib、または/usr/local/lib。
パスの場所がこれらの場所のいずれかで構成されていることを確認してください。
- ld_library_path- .bashrcのように環境シェルに設定できます
- /etc/ld.so.conf-キャッシュを更新するにはldconfigに電話する必要があり、ファイルを変更するにはルートアクセスが必要です。
理由
@bjoernzを除いて、私のシステムは見つかりません libOpenCL.so
ファイル
正しいファイルディレクトリが欠落しているためです
インターネットを介した検索の後、私はそれを見つけました libOpenCL.so
ファイルが提供できます ocl-icd-opencl-dev
パッケージ
解決
CMDに入力することで、上記のパッケージをインストールするだけです
sudo apt update
sudo apt install ocl-icd-opencl-dev
したがって、 libOpenCL.so
下に見つけることができます /usr/lib/x86_64-linux-gnu/
フォルダ
私のシステム情報
- OS: :Ubuntu 16.04 LTS
- GPU: :nvidia geforce gtx 660
- GPUドライバー: :nvidia-375
- opencl: 1.2