我想在我的Qt程序中使用root cern库。但是我有链接器的问题:


  未定义对`TVersionCheck :: TVersionCheck(int)的引用


我不知道是什么原因我确实阅读了另一个论坛,但仍然无法理解该问题。请帮我。

.pro文件内容:

QT += core
QT -= gui

CONFIG += c++11

TARGET = v_root_trees_2
CONFIG += console
CONFIG -= app_bundle

TEMPLATE = app

SOURCES += main.cpp

INCLUDEPATH += "C:/root_v5.34.34/include"

LIBS += -L"C:/root_v5.34.34/lib"  \
-lcomplexDict \
-ldequeDict \
-lfreetype \
-llibAfterImage \
-llibASImage \
-llibASImageGui \
-llibCint \
-llibCintex \
-llibCore \
-llibEG \
-llibEGPythia8 \
-llibEve \
-llibFitPanel \
-llibFoam \
-llibFTGL \
-llibFumili \
-llibGdml \
-llibGed \
-llibGenetic \
-llibGenVector \
-llibGeom \
-llibGeomBuilder \
-llibGeomPainter \
-llibGLEW \
-llibGpad \
-llibGraf \
-llibGraf3d \
-llibGui \
-llibGuiBld \
-llibGuiHtml \
-llibGviz3d \
-llibHist \
-llibHistPainter \
-llibHtml \
-llibMathCore \
-llibMathMore \
-llibMatrix \
-llibMinuit \
-llibMinuit2 \
-llibMLP \
-llibNet \
-llibPhysics \
-llibPostscript \
-llibProof \
-llibProofDraw \
-llibProofPlayer \
-llibPyROOT \
-llibQuadp \
-llibRecorder \
-llibReflex \
-llibReflexDict \
-llibRGL \
-llibRHTTP \
-llibRint \
-llibRIO \
-llibRODBC \
-llibRooFit \
-llibRooFitCore \
-llibRooStats \
-llibRootAuth \
-llibSessionViewer \
-llibSmatrix \
-llibSpectrum \
-llibSpectrumPainter \
-llibSPlot \
-llibSQLIO \
-llibTable \
-llibThread \
-llibTMVA \
-llibTree \
-llibTreePlayer \
-llibTreeViewer \
-llibUnuran \
-llibVMC \
-llibWin32gdk \
-llibXMLIO \
-llistDict \
-lmap2Dict \
-lmapDict \
-lmathtext \
-lmultimap2Dict \
-lmultimapDict \
-lmultisetDict \
-lsetDict \
-lvectorDict


main.cpp文件:

#include <QCoreApplication>

#include "TMultiGraph.h" // problem if add this line

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    return a.exec();
}


我不知道怎么了我添加了所有.lib文件。
路径C:/root_v5.34.34/libC:/root_v5.34.34/include是正确的并且确实存在。更改路径我看到cannot find ...错误。
因此,路径是正确的。

我在VS2013中检查了类似的代码,没有看到任何错误。
但是我在Qt中编写了很多代码,无法更改IDE。
我了解,某些链接会导致错误,但找不到它。

最佳答案

项目中的某些库包含不正确。例如-llibAfterImage -llibASImage -llibASImageGui
您应该编写-lAfterImage -lASImage -lASImageGui等...
当我更正您的.pro文件时,构建成功。
可能是其中一个未正确包含的库之一包含TVersionCheck :: TVersionCheck(int)的实现。

09-10 03:51