a configuración de compilación personalizada de @Xcode provoca "biblioteca / archivo no encontrado" para bibliotecas estáticas

Tengo un espacio de trabajo con un proyecto que se vincula con las bibliotecas estáticas en otro proyecto (que también está en el espacio de trabajo). Es un problema en Kobold2D No he podido resolverlo, aunque entiendo la causa, y supongo que es similar a esta pregunta.

os objetivos del proyecto y los objetivos de la biblioteca estática tienen todos losDepura yLanzamient configuraciones de compilación. Todo está bien

Ahora alguien agrega una nueva configuración de compilación en el proyecto y lo nombraAd ho por ejemplo. Ahora el objetivo del proyecto construye laAd ho configuración, sin embargo, las bibliotecas estáticas no tienen dicha configuración. Aparentemente, por defecto, crean laLanzamient configuración.

Al final, cuando se supone que el enlazador reúne todo, falla:

ld: library not found for -lbox2d-ios
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang++ failed with exit code 1

Para bibliotecas cargadas a la fuerza a través de-force_load $(BUILT_PRODUCTS_DIR)/libSomeLib.a el error es similar pero dice "archivo no encontrado". Debo señalar que la biblioteca "libbox2d-ios.a" está en la lista de fase de compilación "enlace binario con bibliotecas".

bviamente, el problema es que el enlazador supone que las bibliotecas están en la Ad-Hoc-iphoneos en la BUILT_PRODUCTS_DIR mientras están en la Release-iphoneos carpeta porque no tienenAd ho configuración de compilación.

¿Cómo puedo darle una bofetada al enlazador y decirle que obtenga las bibliotecas donde están? Preferiblemente, estoy buscando una solución que funcione para ambos casos, es decir, las bibliotecas se agregaron de la manera estándar (enlace binario con la fase de creación de bibliotecas) y las bibliotecas que necesitan una carga adicional -force_ para funcionar.

Espero que haya alguna manera de:

force las bibliotecas se colocarán en la carpeta de configuración de compilación de la aplicación de destino Ejecute un script posterior a la compilación y al enlace previo que copie cada biblioteca en la carpeta de configuración de compilación especifique una ruta relativa a las bibliotecasutilice una macro diferente a $ BUILT_PRODUCTS_DIR para -force_loadun indicador de enlace como -WTFmake-all-problems-go-away

Disculpe, pero tengo que decir esto ...ARGH!:)

Respuestas a la pregunta(14)

Su respuesta a la pregunta