My platform is a Clevo P170HM with nVidia GTX460M running Windows 7. I build a lot of open s/w with MinGW64, most recently OpenCV. CUDA is only feasible with MSVC, so I asked for OpenCL and got a build with no errors. But it won't run a simple hello world: at the first ocl call (doesn't seem to matter which) I get "invalid parameter passed to C function", apparently from nVidia's nvopencl.dll, which gdb reports as having been loaded and then unloaded during the execution of that line. Moreover test_ocl and perf_ocl report nothing but failures, mostly "C++ exception with description "C:\Users\Public\3DSoftware\opencv-2.4.7\opencv\s ources\modules\ocl\src\cl_context.cpp:551: error: (-215) currentContext != NULL in function getContext" thrown in the test body"
I did have both Intel's and AMD's OpenCL SDKs installed (wrongly, as I now suppose) when the build was configured. I have since uninstalled those and re-installed the nVidia driver (which includes their OpenCL support). Then re-run Cmake from scratch, and in modules/ocl in the build tree, make clean; make. That remade a lot of opencv, maybe all of it. But the test pgms still fail the same way, and my hello world still gets the same error.
Any suggestions?