eclipse boost库出错

时间:2015-12-08 21:14:44

标签: c++ eclipse boost

我正在尝试在我的日食上设置boost库。我有 Windows 7的 Eclipse Luna 提升1.59 MINGW

我已经使用b2命令编译了boost库。 我还在路径和符号中为我的项目添加了库。 在minGW链接器中,我有-L选项的“boostdir”\ stage \ lib路径。 在-l选项中我尝试了很多组合  -boost_filesystem  -boost_system  -促进  -...

问题在于:

#include<iostream>
#include <boost/math/distributions/chi_squared.hpp>

int main() {
double pvalue = 2.667;
boost::math::chi_squared_distribution aDist(1);
pvalue = boost::math::cdf(aDist,pvalue);
std::cout << "The p-value is : "<<pvalue << std::endl;
return 0;

}

编译器给了我:

16:24:25 **** Incremental Build of configuration Debug for project test2 ****
Info: Internal Builder is used for build
g++ "-IC:\\MinGW\\boost_1_59_0" -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\test2.o" "..\\src\\test2.cpp" 
..\src\test2.cpp: In function 'int main()':
..\src\test2.cpp:6:40: error: missing template arguments before 'aDist'
  boost::math::chi_squared_distribution aDist(1);
                                        ^
..\src\test2.cpp:6:40: error: expected ';' before 'aDist'
..\src\test2.cpp:7:28: error: 'aDist' was not declared in this scope
  pvalue = boost::math::cdf(aDist,pvalue);
                            ^

16:24:28 Build Finished (took 3s.531ms)

第二个错误是正确的,因为它是由第6行引起的。 但自动完成日食工作,所以他可以以某种方式看到图书馆!

错误来自哪里?

1 个答案:

答案 0 :(得分:1)

boost::math::chi_squared_distribution是一个类模板。您需要为它提供模板参数。例如,

boost::math::chi_squared_distribution<some_floating_point_type> mydist(1);