Pregunta

Me encontré con algunos errores en uno de los componentes de impulso que estoy usando.Después de analizar un poco el problema, descubrí que no era el único y que el autor ya había publicado una solución que está disponible en el tronco SVN de impulso.

¿Cuál sería el mejor enfoque si quisiera actualizar solo este componente y reutilizar las bibliotecas que ya están creadas?El componente no es solo un encabezado.

  • Compilador:MSVC 9 con SP1, TR1
  • SO:Vista
  • Aumentar:1.39 de la informática BoostPro
  • componente con errores: Ola de impulso
  • bicho:condiciones de carrera.El error se solucionó en mayo de este año, pero hasta donde yo sé, no lo han incluido en ninguna versión.

Lo que hice hasta ahora:

  • svn checkout del subdirectorio wave
  • subdirectorio local reemplazado
  • ahora estoy buscando una manera de especificar que quiero construir justo ola

Estoy un poco cansado de reconstruir toda la biblioteca de impulso.No sé si el baúl está listo para producción en este momento.

¿Fue útil?

Solución

Esto es lo que terminé haciendo:

  1. En primer lugar me fui la versión de la lib de onda en la que se ha solucionado el problema (53230). Después diffing a mi copia local, he encontrado los siguientes cambios:

    - la onda se reutiliza una implementación boost.iterator en lugar de proporcionar su propia

    - la puesta en práctica flex_string se actualiza

    - un contador de referencia fue hecha atómica. Esta debe ser la corrección de errores

  2. A continuación, simplemente reemplazado mi dir realce / de onda con el de SVN. Me corrió bootstrap.bat (si se utiliza BoostPro tendrá que obtener esta información del impulso fuentes zip) y luego me encontré bjam:

    bjam --build-directorio = construir herramientas = variante msvc = depuración | varilla de desmontaje = roscado estática = tiempo de ejecución de múltiples-link = compartida - con onda

    Adición --con de onda única construirá de onda y sus dependencias.

  3. En este punto llegué errores de compilación: parece que el Espíritu también se ha actualizado. He descargado Espíritu (53252) desde SVN y reeditado el comando bjam.

    La biblioteca de acumulación de manera limpia y he copiado los dos liberaciones a mi carpeta de impulso lib.

Después de hacer esos pasos, reconstruyo mi proyecto y los errores se habían ido rompiendo.

Otros consejos

El mejor enfoque:. Construir un parche por diffing los cambios en el repositorio (por ejemplo, por el control de una parte del repositorio y el uso de svn diff), a continuación, aplicar el parche a los archivos de la instalación Boost usando patch (herramienta de Unix)

Esto podría requerir una consola Unix en Windows (por ejemplo Cygwin). Alternativamente, se puede aprovechar tal vez un cliente de Windows SVN como TortoiseSVN, pero no estoy seguro de que esto permite parchear archivos fuera de control de versiones.

¿Está hablando de una biblioteca de cabecera? Si no es así, también es necesario para reconstruir esa parte de su biblioteca Boost y por desgracia no creo que esto es bastante compatible con el instalador de Boost BoostPro.

Bueno, se puede comprobar los registros y ver la revisión exacta que el problema se solucionó, diff única yhat revisión y aplicar manualmente el parche.

No se recomienda que sólo uno de los componentes informado, como impulso fuertemente reutiliza en sí, por lo que si cambia la interfaz que le comienza a recibir todo tipo de comportamientos extraños. Tal vez si se especifica el componente y el insecto que podría ayudarle.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top