Compile QtOpenCl.dll with Qt (64bit)
-
Hey Community,
i am a real newb in understanding whats going on with linkers, compilers, headers, dynamic libraries and all that stuff, so please forgive me for the following.
i just installed Qt 64bit on win7 x64 guided by this: "http://www.holoborodko.com/pavel/2011/02/01/how-to-compile-qt-4-7-with-visual-studio-2010/":http://www.holoborodko.com/pavel/2011/02/01/how-to-compile-qt-4-7-with-visual-studio-2010/i just got a few memories what i had to do when creating the qtopencl libraries with 32bit compiler.
all i did for now is, downloading the "sourcecode":http://qt.gitorious.org/qt-labs/opencl as a .tar.gz, unzip it and try to qmake the opencl.pro file within my qtcreator ( using MSVC C++ compiler 10.0 (x64) )
if i try to, i just get the LNK2001 errors which tell me that they cant find all the important .obj files like "qclvector.obj"
i remember that i need to copy paste my opencl.dll (out of the system32 folder or from my nvidia driver) to somewhere like the release folder of the qt-opencl project...as i guess the information i just write down here is insufficient for you... so please ask me questions or give me somehow a solution for me.
i hope to compile the QtOpenCl.dll is a standard task so you can help me out... thanks for reading! -
Hi and welcome to devnet,
Can you show what errors you get ?
You don't need to move the OpenCL dll however you need the OpenCL lib file(s) to link to.
Do you have them ?
-
it just says that it cannot find all the following .obj files.
how do i get the OpenCL lib file(s) ?
(sry its the german client >_<)@Bibliothek "....\bin\QtOpenCL.lib" und Objekt "....\bin\QtOpenCL.exp" werden erstellt.
qclsampler.obj : error LNK2001: Nicht aufgelöstes externes Symbol "clRetainEvent".
qcluserevent.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "clRetainEvent" in Funktion ""public: __cdecl QCLEvent::QCLEvent(class QCLEvent const &)" (??0QCLEvent@@QEAA@AEBV0@@Z)".
qclvector.obj : error LNK2001: Nicht aufgelöstes externes Symbol "clRetainEvent".
qclimage.obj : error LNK2001: Nicht aufgelöstes externes Symbol "clRetainEvent".
qclkernel.obj : error LNK2001: Nicht aufgelöstes externes Symbol "clRetainEvent".
qclmemoryobject.obj : error LNK2001: Nicht aufgelöstes externes Symbol "clRetainEvent".
qclprogram.obj : error LNK2001: Nicht aufgelöstes externes Symbol "clRetainEvent".
qclbuffer.obj : error LNK2001: Nicht aufgelöstes externes Symbol "clRetainEvent".
qclcommandqueue.obj : error LNK2001: Nicht aufgelöstes externes Symbol "clRetainEvent".
qclcontext.obj : error LNK2001: Nicht aufgelöstes externes Symbol "clRetainEvent".
qclevent.obj : error LNK2001: Nicht aufgelöstes externes Symbol "clRetainEvent".
qclsampler.obj : error LNK2001: Nicht aufgelöstes externes Symbol "clReleaseEvent".
qcluserevent.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "clReleaseEvent" in Funktion ""public: __cdecl QCLEvent::~QCLEvent(void)" (??1QCLEvent@@QEAA@XZ)".
@ ...about 180 failures later...
@
qclprogram.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "clCreateKernelsInProgram" in Funktion ""public: class QList<class QCLKernel> __cdecl QCLProgram::createKernels(void)const " (?createKernels@QCLProgram@@QEBA?AV?$QList@VQCLKernel@@@@XZ)".
qclprogram.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "clBuildProgram" in Funktion ""public: bool __cdecl QCLProgram::build(class QList<class QCLDevice> const &,class QString const &)" (?build@QCLProgram@@QEAA_NAEBV?$QList@VQCLDevice@@@@AEBVQString@@@Z)".
qclsampler.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "clGetSamplerInfo" in Funktion ""public: bool __cdecl QCLSampler::normalizedCoordinates(void)const " (?normalizedCoordinates@QCLSampler@@QEBA_NXZ)".
....\bin\QtOpenCL.dll : fatal error LNK1120: 61 nicht aufgelöste externe Verweise.
NMAKE : fatal error U1077: ""C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\amd64\link.EXE"": Rückgabe-Code "0x460"
Stop.
NMAKE : fatal error U1077: ""C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\amd64\nmake.exe"": Rückgabe-Code "0x2"
Stop.
NMAKE : fatal error U1077: "cd": Rückgabe-Code "0x2"
Stop.
NMAKE : fatal error U1077: "cd": Rückgabe-Code "0x2"
Stop.
10:32:47: Der Prozess "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\amd64\nmake.exe" wurde mit dem Rückgabewert 2 beendet.
Fehler beim Erstellen des Projekts opencl(Ziel: Desktop)
Bei der Ausführung von Build-Schritt 'Make'@ -
Looks like you're missing the OpenCL development libraries
-
can you tell me what to do ?
-
Install the OpenCL drivers and SDK from your graphics card manufacturer. AFAIK, for e.g. Nvidia you can install the CUDA SDK and it should come with it
-
i have cuda installed... where to finde all needed files?
-
I don't have a windows computer at hand but doing a search in the CUDA sdk folder should tell you where the OpenCL libs can be found
-
where to paste the opencl.lib and the opencl.h ?
-
No need to past them anywhere, just put the right paths in your pro file
-
omfg, i just realized that i got a new graphics card...
its amd and i just can find so called amd_opencl32.dll or 64.dll in sum drivers folders...but nothing in the catalyst folders nor ATI Technologies folders. -
Did you install the AMD OpenCL SDK ?
-
well i did now.... can you tell me what to execute or how to link and which files need to be linked ?
omfg im such a noob :D -
Before that did you retry to build QtOpenCL from scratch ?
-
the failures above still come up, if thats what you ask for
-
mb i've got the wrong sdk.... named APP AMD SDK.
there is a so called OpenCLService.exe which i installed via prompt
OpenCLService.exe -i and run it via -s -
So, it is working now ?
-
no its not, still the same errors
-
Do you have any OpenCL something lib file in the AMD sdk ?
-
nope
just kernels for examples and stuff