【问题标题】:boost/filesystem.hpp not linking in osx boost installed via homebrewboost/filesystem.hpp 没有链接到通过自制软件安装的 osx boost
【发布时间】:2017-09-28 04:45:42
【问题描述】:

我通过

安装了boost
$ brew install boost

在xcode中我已经指定了

/usr/local/Cellar/boost/1.65.1/include

在我的标题搜索路径和

/usr/local/Cellar/boost/1.65.1/lib 

在我的图书馆搜索路径中。我可以成功

#include <boost/variant.hpp>

但是当我尝试包含 boost/filesystem.hpp 时,我得到了链接器错误:

Undefined symbols for architecture x86_64:
"boost::system::system_category()"

目录 /usr/local/Cellar/boost/1.65.1/include/boost 确实包含 filesystem.hpp。

我尝试了解决方案here,但它对包含 boost/filesystem.hpp 没有帮助。可能是什么问题?

我应该使用哪些标志来安装 Boost?

【问题讨论】:

  • “它不起作用”是什么意思?请同时陈述您的问题。
  • 我可以包含 boost/variant.hpp,但包含 boost/filesystem.hpp 不起作用。我编辑了问题以包含链接器错误。

标签: c++ boost boost-filesystem


【解决方案1】:

boost::system::system_category()定义在libboost_system.{so,a}中,所以需要

  1. 添加库路径/usr/local/Cellar/boost/1.65.1/lib(或其他),然后
  2. 使用 -lboost_system 链接器选项链接该库。

自动链接仅适用于 Windows。

【讨论】:

    猜你喜欢
    • 2012-10-02
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-03
    • 2016-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多