ios - for - xcode descargar
ld: biblioteca no encontrada para-lstdc++. 6 (6)
Después de actualizar la versión de Xcode a 10.0 beta, comience a obtener el error "ld: library not found for -lstdc ++. 6". mismo código funciona bien en Xcode 9.2
También actualizó macOS a 10.13.5
- Si está utilizando un Makefile externo para crear bibliotecas de C ++, agregue
CXXFLAGS += -stdlib=libc++
su biblioteca externa Makefile y las instancias eliminadas de
-stdlib=stdlibc++
-
Si no es así, ignore el paso anterior, solo vaya a Proyecto> Destino> Vincular binario con bibliotecas>
- Eliminar (-) libstdc ++. 6.0.9.tbd
- Añadir (+) libc ++. Tbd
Como se dijo anteriormente, se elimina lstdc ++ de Xcode 10. Para solucionar esto,
-
Vaya a Destino -> BuildPhases -> Enlace binario con bibliotecas
-
Busque lstdc ++ y elimínelo.
-
Ahora puede obtener un error en algún marco que usa la biblioteca "lstdc ++" mencionada anteriormente. Ahora bien, debe actualizar el marco o eliminarlo para que Xcode pueda compilarlo correctamente.
Esto estaba fallando para mí cuando intentaba hacer una
make install
.
En su lugar, ejecuté
make install -stdlib=libc++
, lo que hizo el truco.
La solución rápida es copiar todos los archivos libstdc ++. * De Xcode antiguo (9.4) a Xcode nuevo (10.x)
Para el dispositivo:
cp /Applications/Xcode9.4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libstdc++.* /Applications/Xcode10.app/Contents/Xpublicity/Platpest plataforma / desarrollador / SDK / iPhoneOS.sdk / usr / lib /
Para el simulador:
cp /Applications/Xcode9.4.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/libstdc++.* /Applications/Xcode10.app/Contempla las prácticas plataforma / Desarrollador / SDKs / iPhoneSimulator.sdk / usr / lib /
Simplemente vaya a la configuración de compilación, vincule binarios con bibliotecas y elimine esto. Se resolvió mi problema.
Tendrás este problema al apuntar a la aplicación iOS. Se indica en la nota de lanzamiento:
Avisos de deprecación :
La construcción con libstdc ++ está en desuso con Xcode 8 y no es compatible con Xcode 10 cuando se dirige a iOS . Los proyectos de C ++ ahora deben migrar a libc ++ y se recomienda establecer un destino de implementación de iOS 7 o posterior. Además de cambiar la configuración de compilación de la Biblioteca estándar de C ++, los desarrolladores deberían auditar las banderas de vinculador y las dependencias de destino para eliminar las referencias a libstdc ++ (incluidos -lstdc ++, -lstdc ++. 6.0.9, libstdc ++. 6.0.9.tbd y libstdc ++. 6.0. 9.dylib). Las dependencias del proyecto, como los archivos estáticos que fueron construidos contra libstdc ++, también deberán ser reconstruidas contra libc ++. (40885260)
Fuente: Notas de la versión de XCode Beta 2
Nota al margen:
Necesitas estar registrado para acceder a la página.
El enlace podría romperse en la próxima versión beta (cambio de URL), pero está en la parte Desarrolladores / Descargar
XCode 10 se lanza oficialmente con su nota de lanzamiento , sigue siendo así:
La construcción con libstdc ++ está en desuso con Xcode 8 y no es compatible con Xcode 10 cuando se dirige a iOS . Los proyectos de C ++ ahora deben migrar a libc ++ y se recomienda establecer un destino de implementación de macOS 10.9 o posterior, o iOS 7 o posterior. Además de cambiar la configuración de compilación de la Biblioteca estándar de C ++, los desarrolladores deberían auditar las banderas de vinculador y las dependencias de destino para eliminar las referencias a libstdc ++ (incluidos -lstdc ++, -lstdc ++. 6.0.9, libstdc ++. 6.0.9.tbd y libstdc ++. 6.0. 9.dylib). Las dependencias del proyecto, como los archivos estáticos que fueron construidos contra libstdc ++, también deberán ser reconstruidas contra libc ++. (40885260)