【问题标题】:C++ Compilation problems on OS X after Mavericks upgradeMavericks 升级后 OS X 上的 C++ 编译问题
【发布时间】:2013-10-28 13:47:27
【问题描述】:

我正在处理的代码在升级之前编译良好,但现在当我使用以下任一方法将所有文件链接在一起时:

g++ {*.o 文件列表} 可执行文件 -l...

或者与我的编译器一样的clang我从链接函数的每个函数调用中都会收到一个错误,如下所示:

"fastjet::sorted_by_pt(std::__1::vector<fastjet::PseudoJet, std::__1::allocator<fastjet::PseudoJet> > const&)", referenced from:
  _main in ZJetGen.o
  CZMultijet::weight() in ZJets.o
...

"std::__1::__vector_base_common<true>::__throw_out_of_range() const", referenced from:
...

有谁知道这可能是什么原因造成的?提前致谢 杰克

【问题讨论】:

  • '沿线'还不够好。发布您遇到的确切、完整的错误。更好的是:编写一个(小!)代码 sn-p 来重现错误。通常只要这样做,您自己就会发现错误,如果没有,它会给我们(希望)提供足够的信息来提供帮助。
  • 看起来 libc++ 库已被移动,但您弄错了。
  • @thelamb,上面是问题的定义。我发布的内容与错误消息之间的唯一区别是多了几百行。
  • @Walter,谢谢 - 我会调查 Apple 是否搬迁了它的位置。如果您怀疑他们已经移动了它,我该如何解决这个问题?

标签: c++ macos linker g++ clang


【解决方案1】:

这是因为更新小牛后头文件被删除了,所以你需要安装它们,步骤如下:

  1. 安装或更新到新的 5.0.1 XCode

  2. 安装命令行工具 在 OSX 10.9 Mavericks 中,通过在终端窗口中键入以下命令,然后单击安装: xcode-select --install

现在应该可以正常工作了

【讨论】:

  • 干杯 @chekkal,我有 Xcode 5.0.1,但这无济于事 - 当我尝试 xcode-select --install 时,我收到一个错误,指出该软件包不可用?
  • 嗨@Jack,尝试通过打开 XCode 来安装命令行工具,点击 XCode 菜单项 -> 打开开发者工具 -> 更多开发者工具现在您将被引导到苹果网站,您可以从那里下载命令行工具(OSx Mavericks)
猜你喜欢
  • 1970-01-01
  • 2013-11-18
  • 2014-02-04
  • 2013-12-06
  • 2013-06-11
  • 2014-07-02
  • 1970-01-01
  • 2014-03-04
  • 1970-01-01
相关资源
最近更新 更多