ich bin noch ziemlich neu in der Linux Welt unterwegs und entsprechend unerfahren. Ich habe mein Program welches unter Windows läuft bereits erfolgreich unter Linux laufen.
Nun wollte ich mich ein wenig mit openMP beschäftigen. Ich habe ein paar einfache for Schleifen mit #pragma omp parallel for parallelisiert. Beim kompilieren erhalte ich aber nun Fehlermeldungen.
/home/mkan/workspace/ImageCapture/Source/ABSGUIBase/GUIHelper.h:306: undefined reference to `omp_get_thread_num'
/home/mkan/workspace/ImageCapture/Source/ABSGUIBase/GUIHelper.h:305: undefined reference to `GOMP_parallel_start'
/home/mkan/workspace/ImageCapture/Source/ABSGUIBase/GUIHelper.h:305: undefined reference to `GOMP_parallel_end'
Code: Alles auswählen
#include "omp.h"
....
QString ompString = QString("Number of OpenMP Threads: %1").arg(omp_get_num_threads());
qDebug(ompString.toAscii().data());
....
#pragma omp parallel for
for(int i = 0; i < sampleCount; i++)
source16[i] = bitMask & (source16[i] >> bitshift);
Im .pro file QMAKE_CXXFLAGS += -fopenmp hinzugefügt.
Kompiler ist der gcc 4.4.4 der Eigentlich openMP unterstützen sollte.
Ich habe auch einmal die /usr/lib/libgomp.so.1 includiert, dann kompiliert er zwar, zeigt mir auf meinem Quad Core aber nur bei omp_get_num_threads() nur einen Thread.
Wäre nett wenn mir jemand hilft wo mein Denkfehler liegt.
Gruß