Mein Xcode-Build erfordert cURL 8.0.0 oder höher (was nicht existiert)

Ich schreibe ein C-Programm in Xcode, das cURL verwendet. Es wird ordnungsgemäß auf meinem Mac Pro mit 10.8.5 erstellt, aber auf meinem MacBook Pro mit 10.8.5 wird dieser Fehler angezeigt, wenn ich versuche zu erstellen:

dyld: Library not loaded: /usr/local/opt/curl/lib/libcurl.4.dylib
  Referenced from: /Users/AlecZ/Library/Developer/Xcode/DerivedData/UPServer2-folctfcnmdhllzbddscwimqrggig/Build/Products/Debug/UPServer2
  Reason: Incompatible library version: UPServer2 requires version 8.0.0 or later, but libcurl.4.dylib provides version 7.0.0

Die neueste cURL ist 7.37.0, daher sehe ich nicht, wie 8.0.0 erforderlich sein könnte. Ich bin schon früher auf ähnliche Probleme gestoßen, als ich versuchte, Software für Linux aus ihrer Quelle zu kompilieren, wobei der Compiler angab, dass ich eine nicht vorhandene Version einer Bibliothek benötige.

Ich habe bereits ausgeführt brew install libcurl, aber es heißt, dass ich die Systembibliothek für cURL nicht ersetzen kann.

Antworten (2)

Versuchen Sie, curldas Paket neu zu installieren, z

brew update
brew reinstall curl libcurl

Dies sollte die defekten Abhängigkeiten beheben.

DYLD_LIBRARY_PATHWenn dies nicht hilft, versuchen Sie, , DYLD_FALLBACK_LIBRARY_PATHoder DYLD_FRAMEWORK_PATHVerweise aus den Start-Shell-Skripten (z. B. ) auszukommentieren oder zu entfernen ~/.bash_profile.

Es ist lange her, aber ich glaube, ich hatte ein Problem, das nichts damit zu tun hatte. Das sollte funktionieren.

Dies ist wahrscheinlich nicht die beste Lösung, aber ich erinnerte mich daran, als ich die Frage stellte. Nachdem ich ausgeführt habe brew install libcurl, habe ich alles außer pkgconfig von /usr/local/Cellar/curl/7.37.0/libin /usr/libverschoben und alte Dateien ersetzt. Ich bin also immer noch bei Version 7.37.0, aber es wird jetzt richtig kompiliert. Ich weiß nicht, was der Compiler-Fehler sagen wollte.