Как использовать Intel Opencl SDK в Clion в Windows 10? - PullRequest
0 голосов
/ 25 июня 2019

Я установил Intel Opencl SDK для Windows, и переменные OpenCl добавляются к переменным среды. Я хочу использовать этот SDK с моим Clion ide, который я не могу включить в мой текущий проект, так как он был CL / cl.hpp не найден. Как можно добавить его в мой проект в Clion?

Cl / cl.hpp находится по адресу C:\Program Files(x86)\IntelSWTools\OpenCL\sdk\include\CL

следующее мое CMakeLists.txt


project(tpch_framework)

# enable c++11
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(CMAKE_BUILD_TYPE "Release")

find_package(OpenMP REQUIRED)
find_package(OpenCL REQUIRED)

if (OPENMP_FOUND)
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
endif() 

# Configure required Boost libraries
set(BOOST_ROOT "" CACHE PATH "Boost build root (useful on Windows)")
option(Boost_USE_STATIC_LIBS
       "Search for static boost libs" OFF)
option(Boost_USE_MULTITHREADED
       "Search for multithreaded boost libs" ON)
option(Boost_USE_STATIC_RUNTIME
       "Search for boost libs linked against static C++ runtime" OFF)
find_package(Boost 1.47.0 REQUIRED filesystem system)

# ensure that dependant libraries not explicitly specified here
# are found by the linker:
link_directories(${Boost_LIBRARY_DIRS})
include_directories(${Boost_INCLUDE_DIRS})
set(LIBS ${LIBS} ${Boost_LIBRARIES})

#Bring the headers into the project
include_directories(include)

FILE(GLOB_RECURSE INC_ALL "include/*.hpp")

#However, the file(GLOB...) allows for wildcard additions:
file(GLOB SOURCES "src/*.cpp")

add_library(tpch_framework ${SOURCES})
add_executable(framework main.cpp ${INC_ALL})
target_link_libraries(framework tpch_framework)
#target_link_libraries(framework stdc++fs)
target_link_libraries(framework ${LIBS})

1 Ответ

0 голосов
/ 25 июня 2019

Вам необходимо предоставить информацию о каталоге включения для OpenCL заголовков, как вы указали для Boost заголовков. Также вам необходимо связать библиотеки OpenCL с вашей целью.

В ваших CMakeLists ...

Для каталогов include и link:

link_directories(${Boost_LIBRARY_DIRS} ${OpenCL_LIBRARY})
include_directories(${Boost_INCLUDE_DIRS} ${OpenCL_INCLUDE_DIRS})

Для связывания библиотек:

set(LIBS ${LIBS} ${Boost_LIBRARIES} ${OpenCL_LIBRARY})
...