如何将boost项目包括在我的c++;代码 我试图用Boost的CPP NETLIB编写一个超级平凡的程序来解析一个C++文件中的HTTP URL。p>
代码非常简单,如下所示:如何将boost项目包括在我的c++;代码 我试图用Boost的CPP NETLIB编写一个超级平凡的程序来解析一个C++文件中的HTTP URL。p>,c++,boost,C++,Boost,代码非常简单,如下所示: #include <boost/network/uri> #include <iostream> using namespace boost::network; int main() { uri::uri instance("http://www.example.com"); std::cout << "scheme: " << instance.scheme() << std::endl
#include <boost/network/uri>
#include <iostream>
using namespace boost::network;
int main() {
uri::uri instance("http://www.example.com");
std::cout << "scheme: " << instance.scheme() << std::endl
<< "host: " << instance.host() << std::endl;
return 0;
}
使用他们的库开始编写示例代码的正确方法是什么?由此猜测:
我的测试代码与boost源代码所在的目录相同
如果您已经将boost头解压缩到源代码目录中,那么include语句将无法工作。#include with仅搜索标准include路径(/usr/include等)中的include文件
因此,您可以尝试使用带有“”的include语句,该语句也将从当前源目录进行搜索,或者更好的是,使用发行版中的软件包管理器在您的计算机上安装一个正式的boost开发包
如果在启动g++的源代码目录中有目录“cpp-netlib-0.12.0-final/boost”,编译器命令行参数“-Icpp-netlib-0.12.0-final”将帮助编译器查找boost
Boost.date\u time
?大部分提振仅限于头球;这里,Boost.system
和Boost.Regex
,不需要单独的二进制文件。但是,butBoost.Date\u time
有一个单独的二进制库,使用它还需要额外的安装步骤。[参考文献2]
尽管Boost主要是头文件,但应用程序是使用
cpp netlib仍然需要链接Boost.System、Boost.Date\u time、,
和Boost.Regex。[参考文献1]
BOOST\u ROOT
环境变量/usr/local
中?您可能需要root
访问权限才能执行此操作chmod
755权限1.
2.
希望这能有所帮助。我对boost了解不多,但您确定应该使用
boost/network/uri
而不是boost/network/uri.hpp
,这给了我一个新的错误。致命错误:#include
我在boost/network/uri/
中看到了一个config.hpp
,但我在目录中没有看到boost/config.hpp
。我想你的boost安装已经失败了。也许您没有安装开发包?
fatal error: 'boost/network/uri' file not found
#include <boost/network/uri>
^
1 error generated.