Ich versuche, etwas Code in OSX 10.10 mit den neuesten Xcode cmd-Linientools zu kompilieren. Kompilierung funktioniert, aber die Verknüpfung ist ein Albtraum. Zuerst bekomme ich einen Fehler, dass ein Symbol mehrfach definiert ist. Dieser Fehler ist korrekt, aber die Definitionen sind identisch und in Bibliotheken von Drittanbietern, die ich nicht kontrolliere. Ich kann nicht herausfinden, wie ich den Linker zwingen kann, dieses Problem zu ignorieren. Eine wichtige Anmerkung ist, dass der gleiche Code kompiliert, verlinkt und fehlerfrei auf meiner Ubuntu-Box läuft, sowohl unter clang als auch unter gcc. Dieses Linker-Problem tritt nur unter OS X auf. Die Bibliotheken sind statisch.Probleme mit OS X 10.10 verbinden
Das zweite Problem, das ich begegne, ist noch seltsamer. Wenn ich etwas (notwendige) Funktionalität entferne, nur damit ich das Programm kompilieren und verknüpfen kann, erhalte ich die folgende lustige Nachricht, wenn ich es ausführe: "dyld: Symbol nicht gefunden: __ZNSt12future_errorD1Ev". Zum Teufel, und wie repariere ich das? Google war an dieser Front nicht hilfreich.
Endlich - eine Lösung für mein Problem bei der Verknüpfung gegen C++ - Bibliotheken. Ich habe ein Upgrade auf Yosemite durchgeführt, Fink neu aufgebaut und festgestellt, dass mein alter Code nicht mehr auf die gleiche Weise verknüpft ist. "Undefinierte Symbole für Architektur x86_64:". Es scheint übrigens, dass es in OSXs ld auch keine Brute-Force-Start-Gruppe/End-Gruppe mehr gibt. –