找不到本征头(包括pb)

时间:2018-07-18 13:35:01

标签: qt-creator eigen

只是尝试在Windows 8.1系统上将Eigen模板库与QtCreator IDE一起使用,我从下载的程序包中复制了整个Eigen子目录,并在项目的.PRO文件中添加了INCLUDEPATH行:

Layer*

我的main.cpp读为:

QT += core
QT -= gui
CONFIG += c++11
TARGET = testEigen
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
INCLUDEPATH += d:/Qt-apps/Eigen
SOURCES += main.cpp
DEFINES += QT_DEPRECATED_WARNINGS

编译错误是:

#include <QCoreApplication>
#include <iostream>
#include <Eigen/Dense>
using Eigen::MatrixXd;
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    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;
    return a.exec();
}

我看到伊卡洛斯(Icarus)的帖子也有类似的问题,并回答了πάνταῥεanswer。看来这是小事,但根本不熟悉外部参考文章的实质内容,我仍然受阻...

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您显然已将Eigen子文件夹的内容放入rails console中,因此编译器无法在包含路径中找到d:/Qt-apps/Eigen文件(该文件必须位于{{ 1}}。

最快的解决方案是编写

Eigen/Dense

但是我建议将Eigen的全部内容(即整个档案或存储库内容)放入类似d:/Qt-apps/Eigen/Eigen/Dense的目录中并编写

INCLUDEPATH += d:/Qt-apps

进入您的d:/Qt-apps/eigen3文件。

澄清一下:压缩包中应该有一个名为INCLUDEPATH += d:/Qt-apps/eigen3 的文件夹-这就是.PRO中的Eigen所指的位置。此Eigen文件夹必须是包含路径中某些条目的子文件夹。