在Mac OS X上编译Vowpal Wabbit时找不到头文件

时间:2014-01-21 20:10:53

标签: c++ boost osx-mavericks vowpalwabbit

我已经使用以下版本的g ++将Vowpal Wabbit(版本7.4)下载到我的Mac(OS X Mavericks)上:

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-   dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix

我修改了安装附带的Makefile,以便从我Mac上的正确文件夹中选取Boost(版本1.55)标题和库(我通过编写和编译一个简单的程序进行检查,一切正常)。但是,当我运行 make 时,它找不到头文件,例如:

In file included from library_example.cc:2:
./../vowpalwabbit/parser.h:15:10: fatal error: 'boost/program_options.hpp' file
  not found

感谢您在追踪问题方面提供的任何帮助。

1 个答案:

答案 0 :(得分:4)

vowpal wabbit依赖于C ++库+标题boost/program_options

必须先安装此依赖项,然后才能从源代码构建vowpal wabbit。

由于其他人可能有类似的问题,我会尝试回答更一般的问题:

如何在Mac OS-X上从头开始构建vowpal wabbit?

以下说明假定您根本没有开发环境。如果这样做,您可以跳过任何您认为不必要的步骤。

重要提示:信用到期的信用。这些说明几乎100%由 Aaron Shumacher 编写:我在网络搜索后从his page获取这些说明,并进行了相对较小的修改,添加和说明。

第0阶段,在Mac OS-X上开发所需的基本先决条件:

  • 安装Xcode命令行工具。这将为您提供Apple的开发环境(编译器,制作等)。
  • 安装Homebrew软件包管理器。

安装Homebrew后,其他所有缺失的内容都很容易安装。

从源代码安装所需的工具:

brew install libtool
brew install automake
brew install boost
brew install git

现在,您已准备好下载vowpal wabbit源代码树(最新):

下载:

git clone https://github.com/JohnLangford/vowpal_wabbit.git
cd vowpal_wabbit

您现在已准备好完成标准构建(又名make)流程。

<强>构建

[编辑:2014-07-20]:./autogen.sh在某些环境中可能效果不佳。我建议先尝试使用简单的make进行构建。包含的Makefile已经相当强大,在大多数环境中应该可以正常工作。运行autogen/automake的问题在于,它可能会覆盖(相当不错的)原始Makefile的错误。

# ./autogen.sh  # commented out, use only if 'make' alone doesn't work
make
make test

注意:验证(使用make test)二进制文件按预期工作非常重要。如果您发现任何故障,请在邮件列表中报告,并且仅在失败对您不利时继续安装(例如,只有一些很少使用的选项/测试,您不关心失败)。有关测试的完整详细信息,请参阅test/RunTests脚本。

安装:

make install

此时,您应该在/usr/local/bin/vw

处获得vowpal wabbit