为词法转换包含的 C++ 头文件

标签 c++ gcc boost type-conversion lexical-cast

当我包含用于将某些程序的整数类型转换为字符串类型的#include 头文件时,我的编译器(GCC for C++)抛出错误。 谁能帮我解决这个问题?

这是一个C++的小代码,我是第一次尝试。

#include<iostream>
#include <boost/lexical_cast.hpp>// for lexical_cast()
#include <string> // for string

using namespace std;

int main()
{

long long n,i,k;
cin>>n;
ostringstream str1;

str1<<n;

string s = str1.str();
cout<<s<<endl;
return 0;
}

没有这样的文件或目录。

最佳答案

Boost 不是标准库的一部分,因此您的编译器不提供它的实现。

如果您希望通过在源代码中包含其 header 来使用 Boost 功能,您必须实际安装 Boost,以便这些 header 在您的开发系统上可用。

在像 CentOS 这样的系统上,它来自像 boost-devel(或类似的)这样的包。

但是,您没有在此处使用 Boost 功能,因此只需删除包含即可。

即使您想替换字符串流的用法,我们也有 std::to_string现在。

关于为词法转换包含的 C++ 头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57726643/

相关文章:

c - 如果我在不使用 "extern"的情况下在两个 .c 文件中的每一个中定义相同的变量,会发生什么情况?

c++ - 为什么 boost::program_options 接受切词?

c# - 'do...while' 与 'while'

c++ - 存储 std::assume_aligned 指针 C++ 20

c - C 中的输出

c++ - boost 程序选项和验证功能

c++ - Boost..... 有什么大惊小怪的?

c++ - 使用父模板类的非依赖嵌套类作为子类中的成员

c++ - 在制作(Qt 等)GUI 时声明对象

c - Makefile 和 "relocation has invalid symbol index"错误