2013-10-15 54 views
3

我試圖讓用C++語言,它會記錄從模擬攝像機的視頻Qt應用程序。所以我包括我的項目中videoInput.hvideoInput.lib文件,但是當我試圖運行我的項目,然後會出現以下錯誤。 錯誤是:沒有規則,使目標

的mingw32,使[1]:No rule to make target path/to/videoInputd.lib', needed by 'debug\test.exe'. Stop.

請給我的解決方案。 感謝您的幫助。

感謝您的回覆。我已經加了LIBS。

我.pro文件是.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 

結束。 我將構建模式更改爲發佈模式,然後嘗試運行,然後出現新的錯誤。該錯誤是

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

從你的錯誤描述你嘗試comile一個應用程序,它鏈接到一個庫videoInput,但嘗試包括videoInputd.lib,所以videoInput的調試版本。你不能在一個lib文件(INCLUDEPATH)或(頭)一庫的頭,你只能使用''LIBS + = -L /路徑/到/ lib中-lvideoInput''爲庫,''#include指令

+0

謝謝你的回覆。 c我得到videoInputd.lib文件? 我已經嘗試在我的項目文件夾中找到該文件,但我無法獲取它。 – user2865434

+0

@ user2865434你需要知道它在哪裏。我有一種感覺,它是OpenCV的一部分,但我的水晶球今天有霧。如果我已經通過霧成功地看到了你的意圖,我會建議安裝OpenCV。 – rubenvb

回答

1

需要做的塞巴斯蒂安告訴(添加videoInput.libLIBS)和開關構建模式釋放,因爲你只發布的版本這個庫(videoInput.lib,而不是videoInputd.lib)。

+0

感謝您的回覆。我已經加了LIBS。 – user2865434

+0

你是否將構建模式切換到'release'? –

+0

是的,我將構建模式更改爲釋放模式,然後嘗試運行,然後出現新的錯誤。該錯誤是 錯誤:「布爾COMINIT」 錯誤的重新定義:「布爾COMINIT」以前這裏聲明靜態布爾COMINIT; 錯誤:「類videoInput」類videoInput的重新定義{ 錯誤:「類videoInput」類videoInput以前定義{ 這四個錯誤是在videoinput.h文件編譯器顯示我這個樣子。我知道文件名是videoInput.h但編譯輸出顯示我說:「videoInputd.lib‘通過在需要’調試\ test.exe的」 – user2865434

1

我得到了解決。當我試圖在Qt創建者中包含videoInput.lib文件時,當時它顯示在上面提到的錯誤。 所以我用qt-vs-addin在這裏可用。 qt-vs-addin

我設計的GUI QT-VS-插件使用Visual Studio 2010爲我的應用程序,包括videoInput.lib文件在Visual Studio 2010,現在我的應用程序已準備就緒。這對某人會有幫助。

感謝所有。

1

我有similare問題「不圖利RO mske tsrgrt釷rrason是語法錯誤,像

testwx:($(OBJS)....檢查語法逐行

+0

請你的答案更加清晰 –

相關問題