ich arbeite an einem GUI Projekt (unter Linux und Windows), das recht lange Berechnungen ausführt. Derweil wirkt die GUI fast wie tot, und das soll sich nun ändern.
Die Berechnungen bestehen aus vielen Schleifen, die nacheinander abgearbeitet werden müssen, und deshalb sind sie mit OpenMP parallelisiert. Nun wollte ich die GUI mittels QThreads in einen eigenen Thread auskoppeln, was von der Idee her auch zu funktionieren scheint, und unter Linux läuft es auch problemlos. Unter Windows (Mingw) bekomme ich einen libgomp1.dll error...
Nach etwas googeln scheint es daran zu liegen, dass QThreads auf Windows Threads zurückgreift und OpenMP auf POSIX Threads, und diese scheinen sich nicht zu vertragen.
Was würdet ihr empfehlen um eine aktive GUI zu erhalten?
Die Parallelisierung der Schleifen auf QThread portieren (doch wie? es sind viele und für jedes #pragma omp ne eine Klasse
Gibt es einen Workaround um QThread und OpenMP unter Windows gemeinsam zu benutzen? Anderer Compiler, welcher?
Ganz anderes Vorgehen?
Vielen Dank im Voraus.
Viele Grüße mickey