繁体   English   中英

boost,c ++和致命错误:boost / random / uniform_int_distribution.hpp:没有此类文件或目录

[英]boost, c++ and fatal error: boost/random/uniform_int_distribution.hpp: No such file or directory

以下是我的包含清单。 当我运行程序时,出现此错误。

fatal error: boost/random/uniform_int_distribution.hpp: No such file or directory

好吧...问题是文件在那里,当我注释掉包含文件时,找到了其他文件,程序得以编译。 我真的不明白这是怎么发生的。 有什么解释吗?

我的增强之家是/ home / ubuntu / boost /,因此路径是/home/ubuntu/boost/boost/random/uniform_int_distribution.hpp

这是我的调用方式:

 g++ rtb.cpp -o rtb.o -L/home/ubuntu/boost  -L/usr/local/include/ -lfcgi++

这里是包括

#include <boost/tokenizer.hpp>
#include <boost/random/mersenne_twister.hpp>
#include <boost/random/uniform_int_distribution.hpp>
#include <boost/bimap.hpp>
#include <boost/multi_array.hpp>
#include <cassert>
#include <boost/config.hpp>
#include <iostream>
#include <fstream>
#include <string>
#include <boost/tuple/tuple.hpp>
#include <boost/graph/adjacency_list.hpp>
#include <boost/graph/visitors.hpp>
#include <boost/graph/breadth_first_search.hpp>
#include <map>
#include <boost/multi_index_container.hpp>
#include <boost/multi_index/ordered_index.hpp>
#include <boost/multi_index/identity.hpp>
#include <boost/multi_index/member.hpp>

问题是,当您应该使用-I时,您正在使用-L(它提供了可以找到目标文件库的目录)-I给出了编译器将在其中查找包含文件的目录

总是包含来自gcc / usr / local / include的gcc 库搜索文档

因此,从@nttstar的答案来看,在boost 1.47及更高版本中添加了junit_int_distribution.hpp标头,在此之前,只有uniform_int.hpp。

我认为您仅在此标头中看到错误的原因是您在/ usr / local / include中找到了较旧的增强功能

同意马克。

如果仅对uniform_int_distribution.hpp有问题,则应检查增强版本。

在boost 1.47中添加了Uniform_int_distribution.hpp标头。 在此之前,只有uniform_int.hpp。 您可以在此处查看1.46随机库文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM