r xcode macos rcpp linker-warning

ld: warning: el archivo de código auxiliar basado en texto no está sincronizado. Volviendo a la biblioteca para enlazar



xcode macos (4)

Creo que esto no tiene nada que ver con Rcpp.

Esto está relacionado con su sistema.

Muestro las primeras líneas de un archivo tbd a continuación. Es solo un archivo de texto. Puedes abrirlo usando un editor de texto.

--- !tapi-tbd-v3 archs: [ i386, x86_64, x86_64h ] uuids: [ ''i386: 17321B27-67AB-3D26-B9DF-A69624B1C82B'', ''x86_64: 358C547D-E227-3228-8218-62327F4605C8'', ''x86_64h: 945E5C0A-86C5-336E-A64F-5BF06E78985A'' ] platform: macosx install-name: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation current-version: 1452.23 compatibility-version: 150 exports: - archs: [ i386 ] symbols: [ ''$ld$add$os10.5$.objc_class_name_NSObject'', ''$ld$add$os10.6$.objc_class_name_NSObject'', ''$ld$add$os10.7$.objc_class_name_NSObject'', ''$ld$hide$os10.4$.objc_class_name_NSArray'', ''$ld$hide$os10.4$.objc_class_name_NSCalendar'', ''$ld$hide$os10.4$.objc_class_name_NSData'', ...

Según tengo entendido, el archivo tbd contiene la versión y la ubicación del archivo de biblioteca real. Es como un "enlace". (Solo mi entendimiento personal. Por favor corríjame si esto está mal).

Después de la actualización de Xcode, su archivo tbd y su biblioteca real no están sincronizados. Entonces tienes la advertencia.

Creo que puedes ignorar esta advertencia por ahora, ya que tu compilador ha retrocedido y ha encontrado la biblioteca correcta.

Cuando estoy tratando de sourceCpp , da una advertencia:

ld: advertencia: archivo de resguardo basado en texto /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd y el archivo de biblioteca /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation no están sincronizados. Volviendo a la biblioteca para enlazar.

Pero la función realmente funciona. Sólo me preguntaba cómo resolver esta advertencia.



Tuve este problema al compilar el código Go en mi Mac también.

Los archivos tld no estaban sincronizados en /System/Library/Frameworks/ .

La solución :

Solo vincula los marcos recientes de MacOSX.sdk a /Library/Frameworks/

sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreFoundation.framework /Library/Frameworks/CoreFoundation.framework


Edición: esto parece haber dejado de funcionar después de la 10.13.16. Intentarlo no dañará tu Mac después de la reinstalación, pero no estoy seguro de cómo solucionarlo en el futuro.

Encontré esto recientemente, simplemente elimine las herramientas de línea de comandos para mac y vuelva a instalarlas.

$ rm -rf /Library/Developer/CommandLineTools $ xcode-select --install

Después de estos pasos, verá una ventana emergente para instalar la nueva versión de las herramientas.