boost/filesystem.hpp 未链接到 osx 通过自制软件安装的 boost

boost/filesystem.hpp not linking in osx boost installed via homebrew

我通过

安装了boost
$ brew install boost

在xcode中我指定了

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

在我的 header 搜索路径和

/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::system::system_category()定义在libboost_system.{so,a},所以你需要

  1. 添加库路径 /usr/local/Cellar/boost/1.65.1/lib (或其他任何内容),以及
  2. link 带有 -lboost_system linker 选项的库。

A​​uto-linking 仅适用于 Windows。