Recientemente actualicé a Xcode versión 12.2 de 12.1. Mi compilación experta de un proyecto javacpp comenzó a fallar en ese punto en el paso de clang ++, el siguiente comando y error:
clang++ -I/Users/<username>/git/<product>-javacpp/src/main/cpp -I/usr/local/include -I/Library/Java/JavaVirtualMachines/jdk-14.0.2.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk-14.0.2.jdk/Contents/Home/include/darwin /Users/<username>/git/<product>-javacpp/target/classes/com/<product>/javacpp/video/ffmpeg/jniAvFormatCallbackFactory.cpp /Users/<username>/git/<product>-javacpp/src/main/java/jnijavacpp.cpp -march=x86-64 -m64 -O3 -Wl,-rpath,@loader_path/. -Wall -fPIC -dynamiclib -undefined dynamic_lookup -o libjniAvFormatCallbackFactory.dylib -L/usr/local/lib -Wl,-rpath,/usr/local/lib -lavformat -lavutil -framework JavaVM ld: framework not found JavaVMEstoy construyendo con macOS 10.15.7 y JavaCPP 1.4.4
Al reinstalar cada versión de Xcode, confirmé que este marco está presente en Xcode 12.1 y se eliminó de Xcode 12.2. Puedo construir ahora con 12.1, pero necesito entender un camino a seguir para aceptar actualizaciones de Xcode en el futuro.
Puede reemplazar con seguridad -framework JavaVM con -framework JavaNativeFoundation . Funcionó para mí.
S.
Xcode 12.2 ahora usa el conjunto de marcos macOS 11 (Big Sur), que ya no incluye el marco JavaVM. La solución aquí es una actualización de la compilación maven al JavaCPP 1.5.4 recientemente disponible. Esta versión ya no agrega la opción '-framework JavaVM' al comando clang++, y aún compila/enlaza correctamente.
Este cambio parece solucionar el problema: https://github.com/bytedeco/javacpp/issues/417
El pom.xml necesitaba actualizaciones tanto para el complemento como para la dependencia org.bytedeco javacpp.
Para aprovechar la respuesta de NaderNader, según la documentación de Apple, JavaVM.framework se ha marcado como obsoleto a partir de OS X v10.7.
No pude encontrar ninguna mención del cambio en el registro de cambios de Xcode 12.2. Necesito mostrar la documentación adecuada para una verificación de versión, por lo que verifico la versión del sistema operativo en lugar de la versión de Xcode.