好的,我正在玩boost,想要openCL。下载了这个包,我在这里:
/root/boost_1_63_0/libs/compute当我做"cmake“的时候它告诉我找不到openCL。
[root@172-1-8-3 compute]# cmake . -DOpenCL_INCPATH=/opt/nvidia/cuda/include
DEBUG OpenCL_INCPATH=/opt/nvidia/cuda/include
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
Could NOT find OpenCL (missing: OpenCL_INCLUDE_DIRS)
Call Stack (most recent call first):
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
cmake/opencl/FindOpenCL.cmake:76 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:20 (find_package)我添加了debug行,以确保我的变量确实得到了设置。我可以将路径添加到行中
FIND_PATH(OpenCL_INCLUDE_DIRS CL/cl.h PATHS "$ENV{CUDADIR}/include" ${_OpenCL_INC_CAND} "/usr/local/cuda/include" "/opt/cuda/include" "/opt/AMDAPP/include" ENV OpenCL_INCPATH)如果我在路径后面添加"/opt/nvidia/cuda/include“,那么它会很高兴地找到OpenCL。但是,它应该是从"ENV ...“中找到的。比特。如果我需要用东西的确切位置来破解源代码,那么我还不如没有构建工具。
我在路径上使用/不使用终止/进行了尝试。我知道我可能不应该在这里做这件事,但似乎如果我能让它工作,那么正常的构建就会正常工作。实际上,我想这样做是为了构建支持GPU的cpp-ethereum。
我遗漏了什么??
发布于 2017-03-19 11:12:28
如果要从命令行手动指定include目录,则只需将
-DOpenCL_INCLUDE_DIRS=/opt/nvidia/cuda/include参数添加到命令行上的cmake。这将覆盖find_path的结果。
如果您尝试让CMake读取环境变量,则其语法为
$ENV{NAME_OF_ENVIRONMENT_VARIABLE}https://stackoverflow.com/questions/42846159
复制相似问题