无法让cygwin编译C ++ Boost库

时间:2012-03-01 22:09:01

标签: c++ boost cygwin

我正在尝试使用Boost运行,所以我正在尝试从Boost的“入门”页面编译简单的示例问题。我有两个问题,我不确定它们是否相关(我比新手更好,但不是很多)但也许它们是相关的......

第1期:“tar --bzip2 -xf /path/to/boost_1_49_0.tar.bz2”命令不起作用(是的,我把正确的路径放入,但是它给了我一些错误,我忘记了什么他们是)所以我使用了boost_1_49_0.tar.bz2所在目录中的“tar -xjvf”。对zip文件进行了解压缩,我继续进行了示例...

第2期:example.cpp文件无法编译,代码中的第一个语句是#include“boost / lambda / lambda.hpp”,但是对于每个头文件lambda.hpp正在尝试访问,有一个“否”这样的文件或目录“编译错误。例如,以下是lambda.hpp中的两个(六个,我得到所有6个错误)头文件以及cygwin编译器显示的错误:

boost / lambda / lambda.hpp:14:33:boost / lambda / core.hpp:没有这样的文件或目录 boost / lambda / lambda.hpp:21:52:boost / lambda / detail / operator_actions.hpp:没有这样的文件或目录

如果有帮助,这是我正在运行编译的命令(我通常在单独的-o命令中创建可执行文件): g ++ -c example.cpp

为什么系统找不到这些?我在开始之前将已安装的目录(path / to / boost_1_49_0)添加到PATH变量中,所以我知道不行。谢谢你的任何建议......

(我查看了stackoverflow并且存在类似的问题,但没有解决方案有效)

1 个答案:

答案 0 :(得分:1)

看起来你已经解决了第一个问题:即你必须在tar上指定-j标志来解压缩bzip2'd文件。

对于第二个问题,您需要在包含路径上指定提升,方法是使用-I command line optionCPLUS_INCLUDE_PATH environment variable指定。