C++ 如何修复丢失的qt小部件库makefile链接?
我试图查看这个,但是它的makefile和QWidget中有一个链接错误C++ 如何修复丢失的qt小部件库makefile链接?,c++,qt,makefile,linker,homebrew,C++,Qt,Makefile,Linker,Homebrew,我试图查看这个,但是它的makefile和QWidget中有一个链接错误 In file included from src/AnnotationsPixmapWidget.h:4: src/PixmapWidget.h:4:10: fatal error: 'QWidget' file not found #include <QWidget> ^ 其位置如下: /usr/local/ceral/qt5/5.3.1/lib/qtwidts.framework/Ve
In file included from src/AnnotationsPixmapWidget.h:4:
src/PixmapWidget.h:4:10: fatal error: 'QWidget' file not found
#include <QWidget>
^
其位置如下:
/usr/local/ceral/qt5/5.3.1/lib/qtwidts.framework/Versions/5/Headers/QWidget\
/usr/local/ceral/qt5/5.3.1/lib/qtwidts.framework/Versions/5/Headers/qwidget.h
Qt5Widgets.pc包文件似乎包含正确的目录:
Name: Qt5 Widgets
Description: Qt Widgets module
Version: 5.3.1
Libs: -F${libdir} -framework QtWidgets
Libs.private: -F/usr/local/Cellar/qt5/5.3.1/lib -framework QtGui -framework QtCore -framework Carbon -framework Cocoa -lz -framework OpenGL -framework AGL
Cflags: -I${includedir}/QtWidgets -I${includedir}
Requires: Qt5Core Qt5Gui
更新:尝试添加类似的QT+=widget
但在QT:widget
.pro文件
# the target
TARGET = imgAnnotation
#DEFINES += NO_OPENCV # remove the '#' in order not to use opencv
OPENCV_ROOT = $(HOME)
#OPENCV_ROOT = c:/OpenCV2.0
#OPENCV_SUFFIX = 200
QT += widget
# some project options
TEMPLATE = app
CONFIG += release \
warn_on \
qt
# dirs for automatically generated files
MOC_DIR = src/tmp
OBJECTS_DIR = src/tmp
UI_DIR = src/ui
# source files
FORMS += src/*.ui
HEADERS += src/*.h \
src/geometry/*.h \
src/numeric/*.h
SOURCES += src/*.cpp
# lib/include dirs
INCLUDEPATH += src $${INCLUDEPATH}
# add opencv libraries and include path
!contains(DEFINES, NO_OPENCV) {
LIBS += -lcv$${OPENCV_SUFFIX} -lcxcore$${OPENCV_SUFFIX} -L$${OPENCV_ROOT}/lib
INCLUDEPATH += $${OPENCV_ROOT}/include
}
我真的不太了解makefile,我需要这个尽快,否则我会打开这本书。
在何处/如何将其添加到make文件中?模块名称是
小部件(复数),而不是小部件(单数)。模块名称是小部件(复数),而不是小部件(单数)。谢谢。(真不敢相信我错过了那个)。对于/usr/local/cillar/boost/1.57.0/include/boost/functional/hash/hash.hpp是否有类似的模块,因为我现在得到的头文件的错误与此相同。我看不到boost模块。@jsky这些模块适用于Qt附带的模块,或者设计用于qmake的模块。qmake没有boost模块(除非您编写一个),所以您必须手动添加它。这很容易,因为大部分boost都是只包含头的库。因此,您只需要添加正确的include路径。但这是一个单独的问题,无论如何都可能是重复的。搜索qmake boost
首先获取一些想法。谢谢@Kuba Ober我也注意到了这一点,但我还没来得及把它修好。谢谢。(真不敢相信我错过了那个)。对于/usr/local/cillar/boost/1.57.0/include/boost/functional/hash/hash.hpp是否有类似的模块,因为我现在得到的头文件的错误与此相同。我看不到boost模块。@jsky这些模块适用于Qt附带的模块,或者设计用于qmake的模块。qmake没有boost模块(除非您编写一个),所以您必须手动添加它。这很容易,因为大部分boost都是只包含头的库。因此,您只需要添加正确的include路径。但这是一个单独的问题,无论如何都可能是重复的。搜索qmakeboost
首先获得一些想法。谢谢@Kuba Ober我也注意到了这一点,但我还没来得及把它修好。
# the target
TARGET = imgAnnotation
#DEFINES += NO_OPENCV # remove the '#' in order not to use opencv
OPENCV_ROOT = $(HOME)
#OPENCV_ROOT = c:/OpenCV2.0
#OPENCV_SUFFIX = 200
QT += widget
# some project options
TEMPLATE = app
CONFIG += release \
warn_on \
qt
# dirs for automatically generated files
MOC_DIR = src/tmp
OBJECTS_DIR = src/tmp
UI_DIR = src/ui
# source files
FORMS += src/*.ui
HEADERS += src/*.h \
src/geometry/*.h \
src/numeric/*.h
SOURCES += src/*.cpp
# lib/include dirs
INCLUDEPATH += src $${INCLUDEPATH}
# add opencv libraries and include path
!contains(DEFINES, NO_OPENCV) {
LIBS += -lcv$${OPENCV_SUFFIX} -lcxcore$${OPENCV_SUFFIX} -L$${OPENCV_ROOT}/lib
INCLUDEPATH += $${OPENCV_ROOT}/include
}