0

我正在使用 cygwin 并且安装了 boost 1.62.0。我已经使用 g++ 编译了以下代码,它按预期运行,打印“嗨!” 到屏幕。

#include <iostream>

int main(){
    std::cout << "Hi!" << std::endl;
}

当我尝试编译以下代码时,控制台上什么也没有。没有“嗨!” 并且没有打印出我创建的向量“v”。

#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>


int main () {
    using namespace boost::numeric::ublas;
    vector<double> v (3);
    for (unsigned i = 0; i < v.size (); ++ i) {
        v (i) = i;
    }
    std::cout << "Hi!" << std::endl;
    std::cout << v << std::endl;

}

即使#include <iostream>在顶部插入也无济于事。为什么会这样?

更新:我使用以下代码创建了一个新的简化测试用例:

#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/matrix_proxy.hpp>
#include <boost/numeric/ublas/io.hpp>

int main(){
    std::cout << "Hi!" << std::endl;
    //boost::numeric::ublas::matrix<double> m (3, 3);
}

该程序打印“嗨!” 正如预期的那样,当我$ echo $在提示符下运行时返回代码“0”,但是一旦我取消注释注释行,它就不会输出任何内容并且返回代码是“127”。

4

0 回答 0