Próbuję skompilować kod w OSX 10.10 za pomocą najnowszych narzędzi wiersza poleceń Xcode. Kompilacja działa, ale łączenie to koszmar. Najpierw pojawia się błąd, że symbol jest wielokrotnie definiowany. Ten błąd jest poprawny, ale definicje są identyczne i nie są kontrolowane w bibliotekach zewnętrznych. Nie mogę wymyślić, jak zmusić linker do zignorowania tego problemu. Ważną informacją jest to, że ten sam kod kompiluje, łączy i działa bezbłędnie na moim systemie Ubuntu, zarówno pod kodem jak i gcc. Ten problem z łącznikiem jest tylko w OS X. Biblioteki są statyczne.Rozwiązywanie problemów z OS X 10.10
Drugi problem, który napotykam, jest jeszcze dziwniejszy. Jeśli usuwam niektóre (niezbędne) funkcje, po prostu mogę skompilować i połączyć program, po uruchomieniu otrzymuję następujący zabawny komunikat: "dyld: Symbol nie znaleziony: __ZNSt12future_errorD1Ev". Do cholery to jest i jak to naprawić? Google nie było pomocne z tego powodu.
Wreszcie - rozwiązanie mojego problemu z linkami do bibliotek C++. Poddałem upgrade do Yosemite, przebudowałem fink i odkryłem, że mój stary kod nie jest już połączony w ten sam sposób "Niezdefiniowane symbole dla architektury x86_64:". Nawiasem mówiąc, wygląda na to, że nie ma już więcej brutalnej siły -start-grupy/- grupy końcowej w lx OSX-a. –