【问题标题】:g++-4.8 C++ stdlib dylibg++-4.8 C++ 标准库 dylib
【发布时间】:2013-10-05 00:25:35
【问题描述】:

我用 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 更改路径?

【问题讨论】:

  • Apple 的gcc 实际上已经使用 GCC 前端的 LLVM 有一段时间了;在 Xcode 5 中,即使它已被删除。 Apple dylib 是否兼容真正的 GCC,我会留给其他人解释。

标签: c++ macos g++ homebrew


【解决方案1】:

也许你可以尝试使用:

export DYLD_LIBRARY_PATH=...:$DYLD_LIBRARY_PATH

优先考虑苹果的动态库。

【讨论】:

    猜你喜欢
    • 2016-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-01
    • 2016-10-27
    • 2017-05-29
    • 1970-01-01
    相关资源
    最近更新 更多