我正在使用 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”。