0

先月 C の学習を始めたばかりで、今週 Microsoft Visual Studio Express 2012 をインストールしたばかりです。AMD OpenCl SDK とともに。インストール ガイドに従い、検索を行ったところ、すべてが適切にセットアップされているように見えますが、この OpenCl サンプルをビルドすることはまだできません。

AMD からダウンロードした OpenCL プログラミング ガイド ブックにある例を実行しようとしています。私が遭遇し続ける問題は、OpenCl ヘッダー ファイルを見つけることができないように見えることです。

"Error C1083: Cannot open include file: 'CL/cl_platform.h': No such file or directory 
c:\program files (x86)\amd app\include\cl\cl.h"

ディレクトリをチェックして確認したところ、ファイルがそこにありました。

私が持っているインクルードの場合: #include<C:\Program Files (x86)\AMD APP\include\CL\cl.h

私はちょうどそれを試しました: #include <Cl\cl.h>そして#include <Cl/cl.h>

そして、VSがそれを見つけるように見えるのは、フルパスを使用するか、次のようにする場合だけです。 #include <cl.h>

そうでなければ私は得る: "Error C1083: Cannot open include file: 'CL\cl.h': No such file or directory"

環境パス変数については、次のとおりです。

AMDAPPSDKROOT     C:\Program Files (x86)\AMD APP

Path              C:\Program Files (x86)\AMD APP\bin\x86_64

また、C/C++ の VS では、追加のインクルード ディレクトリの下に:

$(AMDAPPSDKROOT)\include

リンカの追加ライブラリ ディレクトリの下で:

$(AMDAPPSDKROOT)\lib\x86_64

追加の依存関係としての入力の下

OpenCL.lib

C/C++ のコマンドライン出力は次のとおりです。

/MP /GS /TC /Qpar /analyze /Wall /Gy /Zc:wchar_t /I"C:\Program Files (x86)\AMD APP\include" /ZI /Gm /Od /Fd"Debug\vc110.pdb" /fp:precise /D "_MBCS" /errorReport:prompt /WX- /Zc:forScope /RTC1 /GR /Gd /Oy- /MDd /openmp /Fa"Debug\" /EHsc /nologo /Fo"Debug\" /Ot /Fp"Debug\OpenClPractice.pch"

そしてリンカー:

/OUT:"D:\Python\C\OpenClPractice\Debug\OpenClPractice.exe" /MANIFEST /NXCOMPAT /PDB:"D:\Python\C\OpenClPractice\Debug\OpenClPractice.pdb" /DYNAMICBASE "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" "OpenCL.lib" /DEBUG /MACHINE:X86 /INCREMENTAL /PGD:"D:\Python\C\OpenClPractice\Debug\OpenClPractice.pgd" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"Debug\OpenClPractice.exe.intermediate.manifest" /ERRORREPORT:PROMPT /NOLOGO /LIBPATH:"C:\Program Files (x86)\AMD APP\lib\x86_64" /TLBID:1

私にはすべて問題ないように見えますが、明らかにそうではないか、この問題が発生することはありません。誰かがそれを助けることができれば、それは素晴らしいことです.

ありがとう!

4

1 に答える 1