2013-09-28 11 views
6

ho compilato un file "Ciao mondo" C++ con gcc48 (installato tramite homebrew) e quando posso controllare le librerie dinamiche collegate vedo:g ++ - 4.8 C++ stdlib dylib

otool -L prova

Test: 
    /usr/local/Cellar/gcc48/4.8.1/gcc/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.18.0) 
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0) 
    /usr/local/Cellar/gcc48/4.8.1/gcc/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) 

Tuttavia, se compilo questo con un gcc mela fornita, g ++ ottengo:

Test: 
    /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0) 
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0) 

Come posso ottenere g ++ - 4.8 per collegare/compilare con la mela fornito .dylib?

EDIT: Sarei in grado di distribuire il programma con /usr/local/Cellar/gcc48/4.8.1/gcc/lib/libstdc++.d.di e utilizzare install_name_tool per modificare il percorso per quello?

+0

'gcc' di Apple era in realtà LLVM con frontend GCC per qualche tempo; e in Xcode 5 anche quello è stato rimosso. Lo lascerò agli altri per spiegare se il dylib Apple è compatibile con il GCC reale. – echristopherson

risposta

0

Forse si può provare ad usare:

export DYLD_LIBRARY_PATH=...:$DYLD_LIBRARY_PATH 

dare priorità dylibs di Apple.