感谢分享你的经验进行编译。
做过的一切,QtOpenCL编译但得到了很多链接警告和错误的,例如:
qclprogram.obj:警告LNK4217:本地定义的符号setLastError @ QCLContext @@ QEAAXH @ Z(公:void __cdecl QCLContext :: setLastError(int))in function“public:bool __cdecl QCLProgram :: build(class QList const &,class QString const &)”(?build @ QCLProgram @@ QEAA_NAEBV?$ QList @ VQCLDevice @@ @@ AEBVQString @@@ Z)
1> qcluserevent.obj:warning LNK4217:locall在函数“private:void __cdecl QCLUserEvent :: validateEvent(void)”(?)中导入时,定义了符号?commandType @ QCLEvent @@ QEBAIXZ(public:unsigned int __cdecl QCLEvent :: commandType(void)const)validateEvent @ QCLUserEvent @@ AEAAXXZ)
1> qclvector.obj:警告LNK4217:本地定义的符号CONTEXTID @ QCLContext @@ QEBAPEAU_cl_context @@ XZ?(市民:结构_cl_context * __cdecl QCLContext :: CONTEXTID(无效)常量)进口在功能 “的保护:无效__cdecl QCLVectorBase ::创建(类QCLContext *,整型,枚举QCLMemoryObject ::访问)”
1> qclworksize(创建@ QCLVectorBase @@ IEAAXPEAVQCLContext @@ HW4Access @ QCLMemoryObject @@@ Z?) .obj:警告LNK4217:在函数中导入的本地定义的符号?maximumWorkItemSize @ QCLDevice @@ QEBA?AVQCLWorkSize @@ XZ(public:class QCLWorkSize __cdecl QCLDevice :: maximumWorkItemSize(void)const)public:class QCLWorkSize __cdecl QCLWorkSize :: toLocalWorkSize class QCLDevice const &)const“ (?toLocalWorkSize @ @@ QCLWorkSize AV1 QEBA @ AEBVQCLDevice @@@ Z)
1> qclkernel.obj:错误LNK2001:解析外部符号“__declspec(dllimport的)公共:_ CDECL QCLEvent :: QCLEvent(无效) “( _imp _ ?? 0QCLEvent @@ @ QEAA XZ)
1> qclmemoryobject.obj:错误LNK2019:解析外部符号 ”__declspec(dllimport的)公共:_ CDECL QCLEvent :: QCLEvent(无效)“( _imp_ (0QCLEvent @@ QEAA @ XZ)在函数“void __cdecl`动态初始化程序中引用了'public:static class std :: _ System_error_category std :: _ Error_objects :: _ System_object''(void)”(?? __ E?_System_object @?$ _Error_objects @ H @ std @@ 2V_System_error_category @ 2 @ A @@ YAXXZ)
1> qclbuffer.obj:错误LNK2001:解析外部符号 “__declspec(dllimport的)公共:_ CDECL QCLEvent :: QCLEvent(无效)”( _imp _ ?? 0QCLEvent @@ @ QEAA XZ)
1> qclcontext.obj:错误LNK2001:无法解析的外部符号 “__declspec(dllimport的)市民:_ CDECL QCLEvent :: QCLEvent(无效)”( _imp _ ?? 0QCLEvent @@ QEAA @ XZ)
我只想补充一点,我还必须修改'static void qt_cl_context_notify(...'在'qclcontext.cpp'中'static void CL_CALLBACK qt_cl_context_notify(...'和'static void qt_clgl_context_notify(...'to'static void CL_CALLBACK qt_clgl_context_notify(.. .'在'qclc ontextgl.cpp' – jcxz 2014-04-09 08:43:36