2009-10-28 12 views
6

J'ai un projet DLL dans VS 2008 Pro qui utilise OpenMP. J'utilise/MT comme option 'génération de code', car je veux que toutes mes dépendances soient liées statiquement dans ma DLL, puisque je ne veux pas distribuer beaucoup de bibliothèques à mes clients - tout doit être inclus dans ce fichier DLL. Le problème est que ma DLL résultante dépend encore de VCOMP90.DLL.Dépendance sur VCOMP90.DLL dans le projet VS2008 Pro OpenMP

Comment puis-je me débarrasser de cette dépendance?

Quelques informations:

  • /OpenMP est défini dans les options du compilateur
  • I lien statiquement contre vcomp.lib
  • comprennent est réglé

  • en utilisant la bibliothèque multithread (/ MT)

Merci beaucoup pour votre aide!

Répondre

8

Je ne pense pas que vous serez en mesure de se débarrasser de la dépendance DLL - vcomp.lib est une bibliothèque d'importation pour la VCOMP90.DLL - ce n'est pas une bibliothèque statique:

Il ne semble pas qu'une bibliothèque statique soit fournie.

+0

Malheureusement, il semble que vous avez raison ... –

+0

Notez que cet article: http://msdn.microsoft.com/en-us/magazine/cc163717.aspx indique que le SDK Xbox 360 prend en charge la liaison statique de l'OpenMP. Je ne sais pas si c'est de l'aide (peut-être que ça peut être piraté à VS?). De plus, MS fournit-il la source (je ne suis pas sur une machine avec les librairies OpenMP maintenant)? Si c'est le cas, peut-être qu'une bibliothèque statique peut être compilée. L'une ou l'autre option semble risquée, cependant, si même réalisable. –

+0

La raison est que OpenMP ne fonctionne pas bien s'il est chargé plus d'une fois. Lisez [this] (https://software.intel.com/fr-fr/articles/openmp-static-library-deprecation-in-intelr-mkl-on-microsoft-windows). – rustyx

Questions connexes