我想在我的 Qt 程序中使用根 cern 库。但是我的链接器有问题:
undefined reference to `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/lib
和 C:/root_v5.34.34/include
是正确的并且确实存在。更改路径时我看到 cannot find ...
错误。
所以,路径是正确的。
我在 VS2013 中检查了类似的代码,没有看到任何错误。 但是我用Qt写了很多代码,改不了IDE。 我知道,某些链接导致了错误,但找不到它。
最佳答案
您项目中的某些库未正确包含。例如-llibAfterImage -llibASImage -llibASImageGui 你应该写 -lAfterImage -lASImage -lASImageGui 等等... 当我更正您的 .pro 文件时,构建成功。 可能其中一个错误包含的库包含 TVersionCheck::TVersionCheck(int)
的实现关于c++ - 对 `TVersionCheck::TVersionCheck(int) 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37170350/