我正在使用caffe、opencv 3.1和Qt5.6编译我的代码。以下是我的.pro文件。我没有在这里包含实际的源文件和头文件名称。
QT += core gui network
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = outsideSituationDetection
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp \
<and others>
HEADERS += mainwindow.h \
< and others >
FORMS += mainwindow.ui
DEFINES += CPU_ONLY
QMAKE_CXXFLAGS += -std=c++11 -Wall -D_REENTRANT -D__STDC_CONSTANT_MACROS -pthread
QMAKE_CXXFLAGS += -DQT_COMPILING_QSTRING_COMPAT_CPP -DQT_COMPILING_QIMAGE_COMPAT_CPP
CONFIG += link_pkgconfig
PKGCONFIG += opencv
INCLUDEPATH += /usr/local/include /usr/local/lib /usr/lib
DEPENDPATH += /usr/local/include
LIBS += -L/usr/local/lib/ -lopencv_imgproc
LIBS += -lm -lglib-2.0 -lgthread-2.0 -lxml2 -pthread
INCLUDEPATH += /usr/include/glib-2.0
INCLUDEPATH += /usr/lib/x86_64-linux-gnu/glib-2.0/include
INCLUDEPATH += /usr/include/libxml2
INCLUDEPATH += /usr/include/ \
/usr/lib/x86_64-linux-gnu/ \
LIBS += -L/usr/lib/x86_64-linux-gnu/ -lglog -lpthread -lm -lrt -ldl -lnsl
DEPENDPATH += /usr/lib/x86_64-linux-gnu/
# BOOST Library
LIBS += -L/usr/lib/x86_64-linux-gnu/ -lboost_system
INCLUDEPATH += /usr/lib/x86_64-linux-gnu
#Caffe for CPU System
INCLUDEPATH += $$PWD/../../../../../src/caffe/build/include \
$$PWD/../../../../../src/caffe/include \
$$PWD/../../../../../src/caffe/build
unix:!macx: LIBS += -L$$PWD/../../../../../src/caffe/build/lib/ -lcaffe -lglog
INCLUDEPATH += $$PWD/../../../../../src/caffe/build
DEPENDPATH += $$PWD/../../../../../src/caffe/build
RESOURCES += icons.qrc问题-当我编译代码时,我得到了一堆“错误:未定义的引用‘QDebug::~QDebug()’”错误以及“错误:未定义的引用`QDebug::putString(QChar const*,unsigned long)‘我的所有.cpp文件。(我已经使用Qt5.6和Qt5.7成功地构建并执行了另一个应用程序,没有出现错误。)
(.qtversion[qt_version_tag]+0x0):-1: error: undefined reference to `qt_version_tag' File not found (.qtversion[qt_version_tag]+0x0) in main.o我已经尝试了什么-检查Qt版本,以确保我使用的是Qt5.6。通过执行“sudo apt-get remove qt5-default”删除已安装的qt5-default。从Qt5.7降级到Qt5.6,尽管没有任何不同。我已经从/usr/ qt4和/usr/ qt5中删除了包含和共享文件夹。
你能告诉我我可能遗漏了什么吗?
发布于 2016-07-06 09:09:44
我在文件中多次声明了‘#include“QDebug’。删除它们并只将其放在一个文件中删除了错误。(编辑-这是不正确的,不起作用)
起作用的是什么-尽管我删除了Qt3,4和5的旧版本,但Qt内部使用的是5.2.1版本。我不知道他们从哪里来的。但是当我在/usr/lib/x86_linux_gnu/中将它们全部删除时,代码编译了!我还在qtchooser/default.conf中显式指定了安装目录的路径。这可能不是最好的方法,但不管怎样,它是有效的。
https://stackoverflow.com/questions/38214924
复制相似问题