感謝分享你的經驗進行編譯。
做過的一切,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