没有规则来制定目标

时间:2013-10-15 06:52:00

标签: c++ qt

我正在尝试使用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文件的结尾。 我将构建模式更改为发布模式,然后尝试运行然后出现新错误。错误是

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

3 个答案:

答案 0 :(得分:1)

Sebastian 告诉(将videoInput.lib添加到LIBS)并将构建模式切换为发布,因为您只有此库的发布版本(videoInput.lib ,而不是videoInputd.lib)。

答案 1 :(得分:1)

我得到了解决方案。当我试图在Qt创建者中包含videoInput.lib文件时,那时它显示在提及错误之上。 所以我使用了qt-vs-addin,这里有。 qt-vs-addin

我使用visual studio 2010为我的应用程序在qt-vs-addin中设计了GUI,并在visual studio 2010中包含了videoInput.lib文件,现在我的应用程序就绪了。这对某人有帮助。

感谢所有人。

答案 2 :(得分:1)

我有类似的问题"没有tule ro mske tsrgrt。 Th rrason是语法错误,如

testwx:($(OBJS)....逐行检查语法