对于比我更先进的用户来说,这应该是一个简单的问题.:-)如何在Windows上使用带有cygwin的boost库?
我在winxp机器上使用cygwin使用g ++编程.我需要修改二阶贝塞尔函数,所以我下载了最新版本的boost库并将其安装在'c:\ cygwin\lib\boost_ 1_ 38_0 \'文件夹中.
我正在尝试从他们网站的"入门"部分运行"example.cpp"程序:http: //www.boost.org/doc/libs/1_35_0/more/getting_started/unix-variants.html
我正在使用简单的Bash shell命令行从我创建示例文件的目录进行编译:'g ++ -Wall example.cpp'
我不断收到消息:"boost/lambda/lambda.hpp:没有这样的文件或目录"
我在命令行中尝试了-L,-l,-I选项的所有可能组合以包含目录,但无济于事.还尝试在我的Windows系统的PATH行中添加该文件夹.
如何链接到/ boost目录并且还链接到所有子目录?头文件'lambda.hpp'正在调用子目录中的其他头文件.
你可能不熟悉C++了吗?看来你的条款令人困惑.
C++程序分两步构建:编译和链接.在第一步中,每个源文件(通常称为.cpp)都是单独处理的.每个.cpp文件通常使用多个头文件,因此编译器首先插入这些文件.这就是为什么它被称为#include.
在第二步中,链接器将所有已编译的.cpp文件放在一起并构建最终程序.其中一些编译过的.cpp可能之前已捆绑在一起,其中捆绑包称为库.
Boost是头文件和.cpp文件的集合.因此,编译器和链接器可能都需要找到Boost目录.从您的错误消息,很明显编译器步骤是问题.链接器不再需要头文件.
编译器将看到这个#include
实例.这意味着它需要知道找到第一级boost
目录的位置.我想在这一点上路径将是/lib/boost_ 1_ 38_0/include
(总是有find / -name lambda.hpp
猎枪的appraoch)