【发布时间】:2020-03-24 13:26:16
【问题描述】:
我很难让 Eigen 3.3.7 使用 QNX 6.5.0 或 6.6.0 进行编译。当我尝试编译简单的第一个程序示例时,来自Eigen getting started page。
#include <iostream>
#include <Eigen/Dense>
using Eigen::MatrixXd;
int main()
{
MatrixXd m(2,2);
m(0,0) = 3;
m(1,0) = 2.5;
m(0,1) = -1;
m(1,1) = m(1,0) + m(0,1);
std::cout << m << std::endl;
}
编译:
qcc -I. test_eigen.cpp
我也遇到了 18 个类似的错误:
In file included from ./Eigen/Core:411,
from ./Eigen/Dense:1,
from test_eigen.cpp:14:
./Eigen/src/Core/arch/CUDA/Half.h: In function 'Eigen::half Eigen::half_impl::exp(const Eigen::half&)':
./Eigen/src/Core/arch/CUDA/Half.h:454: error: '::expf' has not been declared
虽然我可以通过在每个缺少的函数之前添加“std”来修复这些错误,但这表明我需要修复一个更大的问题。我感觉有一些冲突的命名空间或预处理器定义。任何帮助将不胜感激。
【问题讨论】: