6

我用 gcc48(通过自制软件安装)编译了一个“Hello world”C++ 文件,当我检查链接的动态库时,我看到:

otool -L 测试

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)

但是,如果我用苹果提供的 gcc,g++ 编译它,我会得到:

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)

如何让 g++-4.8 与苹果提供的 .dylib 链接/编译?

编辑:我是否可以使用 /usr/local/Cellar/gcc48/4.8.1/gcc/lib/libstdc++.6.dylib 分发程序并使用 install_name_tool 来更改路径?

4

1 回答 1

0

也许您可以尝试使用:

export DYLD_LIBRARY_PATH=...:$DYLD_LIBRARY_PATH

优先考虑苹果的dylibs。

于 2013-11-10T06:46:18.100 回答