Ich habe OpenMP mit gcc zum Schreiben von parallelem Code verwendet. Ich benutze jetzt Visual C++ 2005 und versuche herauszufinden, wie man OpenMP benutzt. Es gibt eine Compiler-Option im Menü Eigenschaften-> C/C++/Sprache, aber dann beschwert es sich, dass die Bibliothek fehlt. Gibt es eine Implementierung von Drittanbietern für OpenMP oder wird Visual C++ nur falsch konfiguriert?OpenMP in Visual Studio 2005 Standard
Antwort
Nach einigen Recherchen fand ich heraus, dass die OpenMP-Libs und DLLs sind nicht mit Visual C++ 2005 oder Visual C++ Express Edition 2008. Aber mit ein paar Abhilfen enthalten, die Sie bekommen können es arbeiten .
Zuerst müssen Sie die lib-Dateien von Microsoft herunterladen, die unter Windows SDK for Windows Server 2008 and .NET framework 3.5 gefunden werden können. Nach dem Download müssen Sie sicherstellen, dass entweder vcomp.lib oder vcompd.lib mit Ihrem Programm verknüpft ist.
Als nächstes brauchen Sie die DLL, die in der Visual C++ Redistributable Packkage gefunden werden kann. Stellen Sie dann sicher, dass sich vcomp90.dll irgendwo in Ihrem Pfad befindet.
Sie müssen auch die OpenMP-Compiler-Option aktiviert haben, die im Menü Eigenschaften-> C/C++/Sprache von Visual C++ gefunden werden kann.
Danach sollten Sie in der Lage sein, OpenMP gut zu verwenden.
Es ist auch nicht in den Standard-Versionen enthalten, soweit ich das beurteilen kann. Klingt, als ob Sie Professional oder Team System-Versionen benötigen. Hier ist ein Blogbeitrag, der die obigen Antworten bestätigt. http://kenny-tm.xanga.com/651048063/parallel-programming-using-openmp-with-visual-c-2008-express/ – batty
Ich weiß, das ist alt, aber ich konnte OpenMP mit Visual arbeiten C++ 2008, indem Sie einfach das oben verlinkte SDK installieren. Mußte die anderen erwähnten Schritte nicht machen, aber sie könnten für andere Leute funktionieren. – Justin
Ich denke, t arbeitet mit VC 2005 out of the Box, aber ich bin mir nicht sicher, ob sie mit allen Versionen zur Verfügung gestellt werden.
Wenn Sie das anhängen jsut
/openmp
Option müssen Sie auch das offene mp Header enthalten
#include <omp.h>
Dies ist wichtig, weil dieser Header das Manifest zu Ihrer Anwendung hinzufügen wird, was es ermöglicht um die vcomp.dll aus dem richtigen Systempfad zu laden. So ist es normalerweise nicht mehr erlaubt, vcomp.dll oder andere System Dlls unter Ihrer ausführbaren Datei zu kopieren, aber Sie müssen das Manifest Ihrer Anwendung aufladen, um die DLL von der richtigen Stelle zu laden. Dies wird vom Header omp.h nicht automatisch ausgeführt.
So die minimale Code, wenn Sie nicht wollen, Ihr Manifest auf eigene Faust modyfy ist:
#include <omp.h> // has to include this header to build the correct manifest to find vcom.dll or vcompd.dll
int main(int argc, char* argv[])
{
double sum;
#pragma omp parallel for
for(int i = 0; i < 10000; ++i) {
}
return 0;
}
Ich habe die Include-Datei vermisst (war nicht im Tutorial, dem ich folgte ...) Ein guter Grund, die Includes immer in Tutorials zu zeigen! – Urchin
- 1. OpenMP Aufgaben in Visual Studio
- 2. Visual Studio 2003 vs. Visual Studio 2005
- 3. Visual Studio 2005 Projektoptionen
- 4. Visual Studio 2005 Speichernutzung
- 5. Visual Studio 2005 Shortcuts
- 6. Visual Studio 2005-Produktcodes?
- 7. Programm-Installer in Visual Studio 2005 erstellen?
- 8. Visual Studio 2005 schließt langsam
- 9. Visual Studio 2005 Codedefinitionsfenster gestoppt
- 10. Visual Studio 2005 Anwendung Portabilität
- 11. Visual Studio 2005/2008 Add-In
- 12. Mercurial Integration in Visual Studio 2005?
- 13. In Visual Studio/SQL Server 2005 einfügen
- 14. Erstellen einer DLL in Visual Studio 2005
- 15. Einrichten von F # in Visual Studio 2005
- 16. Webdienst in der Fensteranwendung Visual Studio 2005
- 17. Cout in Visual Studio 2005-Ausgabefenster erfassen?
- 18. Linkfehler 2005, 2001 in Visual Studio 2008
- 19. Highlight Einrückungen in Visual Studio IDE 2005
- 20. x64 va_list in Visual Studio 2005
- 21. App-Symbol in Visual Studio 2005 ändern?
- 22. Web-Service in Visual Studio 2005
- 23. Ausgabefenster in Datei (Visual Studio 2005)
- 24. Visual Studio 2005 stürzt beim Start ab
- 25. C Kompilierungsfehler mit Visual Studio 2005
- 26. Visual Studio 2005-Makros werden nicht ausgeführt
- 27. Verwenden von WatiN mit Visual Studio 2005
- 28. Visual Studio 2005. RC-Datei enthält
- 29. „Standard“ C++ in Visual Studio (nicht .net)
- 30. Komponententest in Visual Studio 2008 Standard
Dies scheint auch für Visual Studio 2008 Standard anzuwenden. – batty