1

そのため、OpenCL プログラムを簡単に開発する方法を確立しようとしていますが、これは、これまでこの言語を学習する上で最も難しい部分であることが判明しました。ソース ファイルに CL/cl.h をインクルードしましたが、ヘッダーが存在しないというコンパイラ エラーが発生し続けます。インクルードを cl.h のみに変更すると機能しますが、これまでに見たすべてのプログラムは CL/cl.h を使用しているため、いずれかのファイルを許可する何らかのマクロであると想定しています。これを回避する方法や可能な修正方法はありますか?

これは私のメイクファイルです

PROJ=ocl_intro

CC=mingw32-g++

CFLAGS=-std=c99 -ウォール

LIB=-lOpenCL

ifdef INTELOCLSDKROOT

INC_DIRS="$(INTELOCLSDKROOT)include\CL"

LIB_DIRS="$(INTELOCLSDKROOT)lib\x86

終了

$(PROJ): $(PROJ).cpp

$(CC) $(CFLAGS) -o $@ $^ -I$(INC_DIRS) -L$(LIB_DIRS) $(LIB)

.PHONY: クリーン

掃除:

rm $(PROJ).exe
4

1 に答える 1

1

変化する:

INC_DIRS="$(INTELOCLSDKROOT)include\CL"

に:

INC_DIRS="$(INTELOCLSDKROOT)include"

「CL/cl.h」を探していますが、「CL」フォルダーを検索パスとして既に指定しているため、「include\CL」内に「CL」というフォルダーが見つからないことは明らかです。現在のように、基本的にコンパイラに「\include\CL\CL\cl.h」を見つけるように要求しています。このファイルが存在しないため、コンパイラは明らかに失敗します。

「インクルード」フォルダーへのパスを指定するだけです。あとは規約に従ってください。

于 2013-01-20T03:47:04.183 に答える