gpt4 book ai didi

c++ - Boost库用元组简单编译

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

谁能告诉我为什么这有效(编译和运行)

#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    

元组.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;
}

关于c++ - Boost库用元组简单编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9506356/

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