CMake包括预编译库

时间:2017-09-15 13:45:52

标签: cmake

我试图在Windows下使用CMake在QTCreator下编译项目,我想知道如何将外部库及其标题添加到我的项目中。我有我的CMakeList.txt如下

cmake_minimum_required(VERSION 2.8)

project(opencl_info)
add_executable(${PROJECT_NAME} "main.cpp")
include_directories(c:\\AMD APP SDK\\3.0\\include\\)
target_link_libraries(opencl_info c:\\AMD APP SDK\\3.0\\lib\\x86_64\\OpenCL.lib)

我得到"CL\cl.h - No such file or directory"如何加入它?现在用" hardlink"?

谢谢。

在VS15下,我正在运行这个项目,它需要:

" 其他包含目录" c:\ AMD APP SDK \ 3.0 \ include \

" 其他图书馆目录" c:\ AMD APP SDK \ 3.0 \ lib \ x86_64 \

" 额外的宽恕" OpenCL.lib和eproject运行。

我需要在我的路径中包含 OpenCL.dll

因此,我正在寻找QTCreator / CMake的相同/类似行为,以便为我的项目包含标头和库( .lib, .dll)。

谢谢。

我的机器上有更多的opencl platfroms(nVidia,AMD),每次使用FIND_PACKAGE(OpenCL REQUIRED) nVidia而不是Found OpenCL: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/lib/x64/OpenCL.lib (found version "1.2")

如何明确告诉CMake查找并使用AMD?

3 个答案:

答案 0 :(得分:1)

在CMake空间中分隔符。如果要将字符串与空格一起使用,请将其用双引号括起来:

"c:\\AMD APP SDK\\3.0\\include\\"

答案 1 :(得分:0)

部分成功,我将AMD APP SDK移至另一个名为c:\opencl\的目录 缩短,路径目录中没有空格

我收录了导弹include_directories(c:\\opencl\\include\\),现在失踪"CL\cl.h - No such file or directory"的问题已经消失。

答案 2 :(得分:0)

我找到了解决方案:)

cmake_minimum_required(VERSION 2.8)

project(opencl_info)

include_directories("c:\\AMD APP SDK\\3.0\\include\\")
link_directories("c:\\AMD APP SDK\\3.0\\lib\\x86_64\\")
add_executable(${PROJECT_NAME} "main.cpp")
target_link_libraries(opencl_info OpenCL.lib)

感谢您的帮助,伙计们!!!