Boost库简单的编译与元组
谁能告诉我,为什么这个工程(编译和运行)Boost库简单的编译与元组
#include <iostream>
#include <boost/numeric/ublas/matrix.hpp>
//#include <boost/tuple.hpp>
//#include <boost/tuple_comparison.hpp>
//#include <boost/tuple_io.hpp>
using namespace boost;
int main ()
{
// tuple<int, char, float> t(2, 'a', 0.9);
// std::cout << t << std::endl;
boost::numeric::ublas::matrix<double> m1;
return 0;
}
,但是当我取消相关的元组的线条,它说
boost_tuple.cpp:3:27: fatal error: boost/tuple.hpp: No such file or directory compilation terminated.
我用的是以下两种情况下编译:
g++ -Wall -c -I/usr/include/boost boost_tuple.cpp
而且我还检查了/usr/include/boost/tuple.hpp
存在
如果你想将它作为:
#include <boost/tuple.hpp>
失去的boost
部分-I/usr/include/boost
。现在这被评估为/usr/include/boost/boost/tuple.hpp
,这可能是你的问题。
编辑:
确保tuple.hpp安装在那里你说的是,因为我的系统上它位于另一个文件夹:/usr/include/boost/tuple/tuple.hpp
这意味着我需要包括文件#include <boost/tuple/tuple.hpp>
并将其编译为:
g++ tuple.cpp -o tuple -I /usr/include/boost
tuple.cpp:
#include <iostream>
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/tuple/tuple.hpp>
using namespace boost;
int main ()
{
tuple<int, char, float> t(2, 'a', 0.9);
boost::numeric::ublas::matrix<double> m1;
return 0;
}
嗯..这似乎不是问题。我能够使用注释运行代码(使用-I/usr/include和-I/usr/include/boost)..但是在取消注释关于元组的部分后,它们都不起作用。 – 2012-02-29 21:09:22
是的,完全一样的错误。顺便说一句,感谢您的帮助! – 2012-02-29 21:17:37
是的。它很奇怪! – 2012-02-29 21:23:06
语法突出显示有些自动;有关详细信息,请参阅http://meta.stackexchange.com/questions/72082/changes-to-syntax-highlighting – 2012-02-29 21:06:02