Problem compilling Hello World from the commandline

Discussion created by arunabha on May 26, 2011
Latest reply on May 27, 2011 by himanshu.gautam


    I'm trying to compile a simple HelloWorld app using the intro tutorial at

I also read which discusses some of the same issues.

The problem I'm getting is that the linker is unable to find a reference. I'm attaching the code and the build command is given below.


cl /Fehello_world.exe /EHsc /I"c:\Program Files (x86)\AMD APP\include" hello.cpp "c:\Program Files (x86)\AMD APP\lib\x86_64\OpenCL.lib"


The Error I'm getting is 



Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86

Copyright (C) Microsoft Corporation.  All rights reserved.



Microsoft (R) Incremental Linker Version 10.00.30319.01

Copyright (C) Microsoft Corporation.  All rights reserved.




"c:\Program Files (x86)\AMD APP\lib\x86_64\OpenCL.lib"

hello.obj : error LNK2019: unresolved external symbol _clGetPlatformIDs@12 referenced in function "public: static int __cdecl cl:latform::get(class cl::vector

<class cl:latform,10> *)" (?get@Platform@cl@@SAHPAV?$vector@VPlatform@cl@@$09@2@@Z)

hello_world.exe : fatal error LNK1120: 1 unresolved externals

Any help is appreciated




#include <utility> #define __NO_STD_VECTOR // Use cl::vector and cl::string and #define __NO_STD_STRING // not STL versions, more on this later #include <CL/cl.hpp> #include <cstdio> #include <cstdlib> #include <fstream> #include <iostream> #include <string> #include <iterator> const std::string hw("Hello World\n"); inline void checkErr(cl_int err, const char * name) { if (err != CL_SUCCESS) { std::cerr << "ERROR: " << name << " (" << err << ")" << std::endl; exit(EXIT_FAILURE); } } int main(void) { cl_int err; cl::vector< cl::Platform > platformList; cl::Platform::get(&platformList); checkErr(platformList.size()!=0 ? CL_SUCCESS : -1, "cl::Platform::get"); std::cerr << "Platform number is: " << platformList.size() << std::endl; return 0; }