Las advertencias del linker en boost y quantlib para ios – cant parecen eliminar las advertencias de visibilidad

He podido comstackr y build los frameworks para boost y quantlib en XCode 4.6 y iOS 6.1 (y armv7s!):

  • boost: la secuencia de commands boostoniphone-galbraithjosephs usada se modificó para ios 6.1 y aumentó 1_53_0 (¡gracias Joseph!)
  • Quantlib: se utilizó el script Philip Barnes con mis modificaciones para iOS 6.1 y Quantlib 1.2.1 (¡gracias, Philip!)

Cuando ejecuto el FXVanillaSwapExample en Xcode (que utiliza tanto boost.framework como ql.framework), obtengo las 56 advertencias y 2 errores, principalmente relacionados con: ld: warning: acceso directo en xyz al símbolo débil global vtable para xyz significa el El símbolo débil no puede anularse en time de ejecución. Esto probablemente fue causado por diferentes unidades de traducción comstackdas con diferentes configuraciones de visibilidad. y ld: advertencia: acceso directo en QuantLib :: RecoveryRateQuote :: value () const al símbolo débil global QuantLib

Recibí estas advertencias tanto para Quantlib como para boost. Luego leí las publicaciones en SO en la configuration de visibilidad.

boost fue comstackdo por el script con -fvisibility = hidden -fvisibility-inlines-hidden quantlib fue comstackdo con -fvisibility = hidden pero no -fvisibility-inlines-hidden

Modifiqué el script quantlib para agregar -fvisibility- inlines- hidden y luego lo reconstruí todo sin resultado. Iguales errores de linker.

También traté de jugar con "Métodos ocultos en línea" y "Símbolos ocultos por defecto" en los ajustes de compilation de XCode (estos deben estar configurando las mismas -f banderas detrás de escena)

Entonces, intenté rebuild ambos boost y quantlib con -fvisibility = pnetworkingeterminado y eliminé el -fvisibility-inlines-flag oculto. Esto también no funcionó. Errores del mismo linker al build el FXVanillaSwapExample.

Así que supongo que no estoy configurando las comstackciones correctamente y en algún lugar dentro de la construcción, las banderas -f se meten en líos. Simplemente no tengo idea de cómo diagnosticar cómo está sucediendo eso. Ideas apreciadas.