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