LNK2019在Windows

时间:2017-03-18 02:50:27

标签: c++ windows cmake opencl

在VS2015控制台上使用nmake命令后,我得到了很多错误LNK2019:

  

kmeans.cpp.obj:错误LNK2019:未解析的外部符号clGetPlatformIDs>在函数“int __cdecl initialize(int)”中引用(?initialize @@ YAHH @ Z)kmeans.cpp.obj:错误LNK2019:未解析的外部符号clCreateContextFromType在函数“int __cdecl initialize(int)”中引用(?initialize @@ YAHH @Z)kmeans.cpp.obj:错误LNK2019:函数“int __cdecl shutdown(void)”中引用的未解析的外部符号clReleaseContext(?shutdown @@ YAHXZ)kmeans.cpp.obj:错误LNK2019:函数中引用的未解析的外部符号clGetContextInfo “int __cdecl initialize(int)”(?initialize @@ YAHH @ Z)kmeans.cpp.obj:错误LNK2019:函数“int __cdecl initialize(int)”中引用的未解析的外部符号clCreateCommandQueue(?initialize @@ YAHH @ Z) kmeans.cpp.obj:错误LNK2019:函数“int __cdecl shutdown(void)”中引用的未解析的外部符号clReleaseCommandQueue(?shutdown @@ YAHXZ)

我的电脑规格和操作系统:

  • Windows 10 x64
  • Core i7 4790k
  • GTX 1080。
  • 已安装NVidia CUDA SDK。

有人知道如何解决它,或遇到同样的问题?已经尝试使用OpenCL Lib的#pragma但是没有用。

已经尝试在VS上将应用程序类型从Windows更改为控制台,但这也不起作用。

我的CMakeLists.txt是:

  

cmake_minimum_required(VERSION 2.6)

     

项目(kmeans)

     

find_package(OpenCL REQUIRED)

     

include_directories($ {OpenCL_INCLUDE_DIRS})

     

add_executable(kmeans kmeans.cpp)

     

target_link_libraries(kmeans $ {OPENCL_LIBRARIES})

我正在使用的代码存储库的链接: https://github.com/davidebaltieri31/OpenCL_kMeans

我的确切步骤:

  1. 打开VS2015控制台。
  2. 输入“cmake.-G”NMake Makefiles“”
  3. 输入nmake。
  4. 然后我得到了LNK2019 Erros(全屏截图:http://puu.sh/uNOWQ/66e8d134a1.png)。

0 个答案:

没有答案