【问题标题】:Autotools/libtool link library with libstdc++ despite -stdlib=libc++ option passed to configureAutotools/libtool 与 libstdc++ 链接库,尽管 -stdlib=libc++ 选项已传递给配置
【发布时间】:2013-04-21 07:57:24
【问题描述】:

我正在尝试在 Mac OS X 10.8 上构建 google-glog,使用以下选项:

./configure CXX='clang++' CXXFLAGS='-std=c++11 -stdlib=libc++'

尽管该库与 libstdc++ 链接。

为什么,以及如何解决这个问题?

【问题讨论】:

    标签: c++11 clang autotools libtool glog


    【解决方案1】:

    发现你可以使用构建变量

    LIBS+="-stdlib=libc++"
    

    在我看来比编译器变量更好。

    【讨论】:

      【解决方案2】:

      最好将“方言”和运行时标志放在编译器变量中,因为它将使用这些标志进行链接——而不仅仅是源代码编译:CXX="clang++ -std=c++11 -stdlib=libc++"

      CXXFLAGS 保存为-W -Wall -O2 -march=xxx 等内容。

      【讨论】:

      • 我注意到在 macOS 上为 iOS 构建时,我无法使用 clang++stdlib=libc++ 附加到 CXX。必须改为使用clang 将其附加到 CC。否则 Autotools 将无法配置 C++ 编译器。
      猜你喜欢
      • 1970-01-01
      • 2012-09-14
      • 1970-01-01
      • 2013-03-14
      • 1970-01-01
      • 2019-07-12
      • 2016-12-19
      • 2020-10-10
      • 2015-10-15
      相关资源
      最近更新 更多