为什么我在将 liblas 链接到 Qt 后出现未定义的引用错误

Why i am in getting undefined refrence error after linking liblas to Qt?

本文关键字:未定义 错误 引用 Qt liblas 链接 为什么      更新时间:2023-10-16

>我正在尝试将liblas库链接到Qt.我正在使用.pro文件中的以下代码来链接它。

    //////////////code to link liblas to Qt/////////////////////////////////   
    win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../OSGeo4W/lib/ -lliblas
    else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../OSGeo4W/lib/ -lliblas
    else:unix: LIBS += -L$$PWD/../../../../OSGeo4W/lib/ -lliblas
    INCLUDEPATH += $$PWD/../../../../OSGeo4W/include
    DEPENDPATH += $$PWD/../../../../OSGeo4W/include
    win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../OSGeo4W/lib/ -llaszip
    else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../OSGeo4W/lib/ -llaszipd
    else:unix: LIBS += -L$$PWD/../../../../OSGeo4W/lib/ -llaszip
    INCLUDEPATH += $$PWD/../../../../OSGeo4W/include
    DEPENDPATH += $$PWD/../../../../OSGeo4W/include
 ///////////////////////////////////////////////////////////////   
    and when i am running the code given below, I am getting undefined reference error
        ifstream stream;
        stream.open("lidar_sample.las", std::ios::in | std::ios::binary);
        ReaderFactory f;
        Reader reader = f.CreateWithStream(stream);
    error: undefined reference to `liblas::ReaderFactory::CreateWithStream(std::istream&)'

这里只有两个可能的答案。

  1. 链接器未找到您的 Libla
  2. 你的 liblas 不是与标头相同的版本。