OpenMP and WinSxS

If you've tried to build an OpenMP application and seen this error dialog pop-up: "This application has failed to start because vcompd.dll was not found." then you've come to the right place.

It turns out that due to vcomp(d).lib being a pure import lib it doesn't have a manifest in it.  So to get the manifest for vcomp(d).dll we put it in omp.h.  In fact if you look in omp.h, starting with this line, #if !defined(_OPENMP_NOFORCE_MANIFEST), you will see where we do the manifest generation.

This requires the programmer to include omp.h even in cases where they're only using OpenMP pragmas.  Should only be five seconds worth of work, although more than five seconds worth of work to figure out what the problem was.  Hopefully this blog has all of the keywords one might search if they run across this issue.

Comments

  • Anonymous
    December 23, 2005
    Thanks saved alot of trouble :)

    Couldnt find out why i kept getting that error

  • Anonymous
    January 04, 2006
    Glad to hear it could help :-)

  • Anonymous
    January 16, 2006
    Yeah seriously, that post sure did rule all. I spent an half hour trying to find an answer to it. :-P

  • Anonymous
    May 22, 2006
    Thanks :)

  • Anonymous
    August 26, 2006

    Thanks for that, I think OpenMP in VS2005 should get more attention - compined with C++CLI it's a great way of speeding up critical paths in managed code.

  • Anonymous
    October 04, 2006
    Solution to the message "This application has failed to start because vcompd.dll was not found. Re-installing the application may fix this problem." when creating openmp applications with Visual Studio 2005

  • Anonymous
    November 05, 2006
    Greate!! It's help me very much.

  • Anonymous
    May 17, 2007
    I already got into trouble, thought visual studio's installation got corrupted. Thanks for the solution to the problem.

  • Anonymous
    October 19, 2007
    Very helpful!  Now if you could only help me solve my multi-threading issues.  :-)

  • Anonymous
    December 18, 2007
    Me too, me too!  This turned what would certainly be a few hours of work into a simple fix.

  • Anonymous
    January 10, 2008
    Hello, [visual studio 2008] if using a configuration like: app with _DEBUG defined (debug version) and Multithreaded DLL (release version of the runtime) you must include <omp.h> like this: #undef _DEBUG #include <omp.h> #define _DEBUG

  • Anonymous
    April 11, 2008
    Thanks a lot, it was a great deal of help

  • Anonymous
    April 14, 2008
    The comment has been removed

  • Anonymous
    June 13, 2008
    I was having this problem even though I had included the #include <omp.h> as part of my headers.  What fixed it was moving the omp include statement at the end of all my other includes.  Before, it had been the first include.

  • Anonymous
    October 08, 2008
    PingBack from http://aisweb.artinsoft.net/aisblogs/jose_aguilar_blog/archive/2006/10/05/1196.aspx