es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La sustitución de Bash falla en la configuración de compilación de Xcode.

Estoy compilando WireGuard dentro de Xcode, lo cual requiere configurar “make” como una herramienta de compilación externa. Sin embargo, la compilación fallaba cada vez y no podía resolverlo. Me di cuenta de que el directorio que estaba proporcionando a la herramienta externa no era correcto en el registro.

Siguiendo las instrucciones de WireGuard, configuré el directorio de la herramienta externa como:
${BUILD_DIR%Build/*}SourcePackages/checkouts/wireguard-apple/Sources/WireGuardKitGo
Esto debería eliminar el sufijo “Build/*” de la variable “BUILD_DIR”, sin embargo, en su lugar devuelve vacío, por lo que el directorio se pasa como directorio relativo:
SourcePackages/checkouts/wireguard-apple/Sources/WireGuardKitGo

Si en cambio reemplazo el directorio por:
${BUILD_DIR}/../../SourcePackages/checkouts/wireguard-apple/Sources/WireGuardKitGo
funciona como se espera. Puedo ejecutar ${BUILD_DIR%Build/*} en bash y devuelve lo esperado, entonces, ¿es esto un problema dentro de Xcode, no estoy formateando la sustitución correctamente o estoy completamente equivocado?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que ${BUILD_DIR%Build/*} no está devolviendo el directorio esperado cuando se utiliza como directorio de herramienta externa dentro de Xcode. Una solución que funcionó fue especificar manualmente el directorio utilizando ${BUILD_DIR}/../../SourcePackages/checkouts/wireguard-apple/Sources/WireGuardKitGo.

    No está claro si el problema radica en Xcode o si la sustitución no está formateada correctamente. En el futuro, la resolución de problemas podría implicar verificar si la variable en sí misma es incorrecta o si hay una sintaxis diferente para el directorio de herramientas en Xcode.

Comments are closed.