gpt4 book ai didi

c++ - 如何在我的 C++ 代码中包含 boost 项目

转载 作者:行者123 更新时间:2023-11-30 02:31:58 25 4
gpt4 key购买 nike

我正在尝试使用 Boost 的 cpp-netlib 编写一个 super 简单的程序来解析示例 C++ 文件中的 HTTP URL。

代码很简单:

#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 源位于同一目录中。要进行编译,我只需执行以下操作:

g++ -Icpp-netlib-0.12.0-final -o test test.cpp

它没有找到带有 -I 的包含,但我收到了一个 fatal error 。

fatal error: 'boost/network/uri' file not found
#include <boost/network/uri>
^
1 error generated.

开始使用他们的库编写示例代码的正确方法是什么?

最佳答案

由此推测:

My test code is in the same directory as where the boost source is.

如果您已经将 boost header 解压缩到源代码目录,那么您的 include 语句将不起作用。带 <> 的 #include 仅在标准包含路径(/usr/include 等)中搜索包含文件。

因此您可以尝试使用 ""代替 include 语句,它也会从当前源目录中搜索,或者更好的是,使用您的发行版中的包管理器将官方的 boost 开发包安装到您的计算机上。

如果源代码目录中有目录“cpp-netlib-0.12.0-final/boost”,编译器命令行参数“-Icpp-netlib-0.12.0-final”将帮助编译器找到boost启动 g++ 的位置。

关于c++ - 如何在我的 C++ 代码中包含 boost 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36950105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com