繁体   English   中英

如何修复缺少的Qt小部件库Makefile链接?

[英]How to fix missing qt widget library makefile link?

我正在尝试查看此注释库,但是它在其Makefile中与QWidget的链接错误

In file included from src/AnnotationsPixmapWidget.h:4:
src/PixmapWidget.h:4:10: fatal error: 'QWidget' file not found
#include <QWidget>
         ^

在makefile中没有提及此小部件。

我尝试通过类似的链接在这里添加它:
在此处输入图片说明

当我这样做时,它给了我一个权限错误,我猜它正在编译一个已经存在的对象。

 make
/usr/local/Cellar/qt5/5.3.1/lib/QtWidgets.framework/Versions/5/Headers/QWidget \
        /usr/local/Cellar/qt5/5.3.1/lib/QtWidgets.framework/Versions/5/Headers/qwidget.h
make: /usr/local/Cellar/qt5/5.3.1/lib/QtWidgets.framework/Versions/5/Headers/QWidget: Permission denied
make: *** [src/tmp/AnnotationsPixmapWidget.o] Error 1

它的位置是: /usr/local/Cellar/qt5/5.3.1/lib/QtWidgets.framework/Versions/5/Headers/QWidget \\ /usr/local/Cellar/qt5/5.3.1/lib/QtWidgets.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 但得到: Unknown module(s) in 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,所以我需要尽快解决这个问题,否则请用id打开这本书。 我在哪里/如何将其添加到生成文件中?

模块名称是widgets (复数),而不是widget (单数)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM