我正在尝试使用C++语言制作QT应用程序,该程序将记录来自模拟摄像机的视频。所以我在项目中包含了videoInput.hvideoInput.lib文件,但是当我尝试运行我的项目时,会发生以下错误。
错误是:

mingw32-make [1]: No rule to make target path/to/videoInputd.lib', needed by 'debug\test.exe'. Stop.
请给我解决方案。
感谢帮助。

感谢您的回复。我已经添加了LIBS。

我的.pro文件是

QT += core gui
QT += widgets
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = test
TEMPLATE = app

SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h \
    ../../../"Qt Projects/Test projects/test" \
    videoInput.h

FORMS    += mainwindow.ui

INCLUDEPATH += E:\\ImageProcessing\\opencv_cmake_binaries\\install\\include
LIBS += -LE:\\ImageProcessing\\opencv_cmake_binaries\\install\\lib \
    -lopencv_core244.dll \
    -lopencv_highgui244.dll \
    -lopencv_imgproc244.dll \
    -lopencv_features2d244.dll \
    -lopencv_calib3d244.dll



win32:CONFIG(release, debug|release): LIBS += -L$$PWD/ -lvideoInput
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/ -lvideoInputd

INCLUDEPATH += $$PWD/../../../"Qt Projects/Test projects/test/videoInput"
DEPENDPATH += $$PWD/../../../"Qt Projects/Test projects/test/videoInput"

win32:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/videoInput.lib
else:win32:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/videoInputd.lib

.pro文件的结尾。
我将构建模式更改为 Release模式,然后尝试运行,然后出现新错误。错误是
error: redefinition of 'bool comInit'

error: 'bool comInit' previously declared here
static bool comInit;

error: redefinition of 'class videoInput'
class videoInput{

error: previous definition of 'class videoInput'
class videoInput{

这四个错误在videoinput.h文件中,编译器向我显示了这样的内容。
而且我知道文件名是videoInput.h,但是编译输出向我显示videoInputd.lib所需的debug\test.exe

最佳答案

按照的指示进行操作,因为Sebastian 告诉(将videoInput.lib添加到LIBS)并将构建模式切换为发布,因为您只有该库的发布版本(videoInput.lib,没有videoInputd.lib)。

关于c++ - 没有规则成为目标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19374920/

10-11 18:37