2009-10-28 10 views
6

Tengo un proyecto DLL en VS 2008 Pro que usa OpenMP. Uso/MT como opción de 'generación de código', porque quiero que todas mis dependencias estén vinculadas estáticamente en mi DLL, ya que no quiero distribuir muchas bibliotecas a mis clientes, todo se incluirá en este archivo DLL. El problema es que mi DLL resultante aún depende de VCOMP90.DLL.Dependencia de VCOMP90.DLL en VS2008 Pro Proyecto OpenMP

¿Cómo me puedo deshacer de esta dependencia?

Parte de la información:

  • /OpenMP se encuentra en las opciones del compilador
  • I estáticamente enlazar con vcomp.lib
  • incluyen se establece

  • usando la biblioteca multiproceso (/ MT)

¡Muchas gracias por su ayuda!

Respuesta

8

No creo que usted será capaz de deshacerse de la dependencia DLL - vcomp.lib es una biblioteca de importación para la VCOMP90.DLL - no es una biblioteca estática:

No parece que se proporcione una lib estática.

+0

desafortunadamente, parece que está en lo correcto ... –

+0

Tenga en cuenta que este artículo: http://msdn.microsoft.com/en-us/magazine/cc163717.aspx dice que el SDK de Xbox 360 admite la vinculación estática de el OpenMP. No sé si eso es de alguna ayuda (¿tal vez se puede hackear a VS?). Además, ¿MS proporciona la fuente (no estoy en una máquina con las librerías OpenMP ahora mismo)? Si es así, tal vez se pueda compilar una lib estática. Cualquiera de las opciones suena arriesgada, aunque sea viable. –

+0

El motivo es que OpenMP no funciona bien si se carga más de una vez. Lea [esto] (https://software.intel.com/en-us/articles/openmp-static-library-deprecation-in-intelr-mkl-on-microsoft-windows). – rustyx

Cuestiones relacionadas