我正在尝试使用C++语言制作QT应用程序,该程序将记录来自模拟摄像机的视频。所以我在项目中包含了videoInput.h
和videoInput.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/