我目前正在使用Eclipse Juno與CDT和Cygwin C++一起使用一個介紹性的C++項目。我正在使用MVC體系結構,並剛剛獲得了代碼,以便可以運行可執行文件並查看一些結果。當我構建應用程序時,編譯器不會拋出任何錯誤;然而,當我運行通過Eclipse的應用程序,該應用程序重建,並顯示以下錯誤:製作:***多種目標圖案。停止
make: *** multiple target patterns. Stop. GasFinderTUI.d KyleGasStationFinder/Debug/src/View line 1 C/C++ Problem
下面是從文件我的代碼:
src/Controller/GasFinderController.d src/Controller/GasFinderController.o: \
../src/Controller/GasFinderController.cpp \
../src/Controller/GasFinderController.h \
C:/Users/Kyle/Dropbox/Workbench/KyleGasStationFinder/src/Model/LocalGasStations.h \
C:/Users/Kyle/Dropbox/Workbench/KyleGasStationFinder/src/Model/GasStation.h \
C:/Users/Kyle/Dropbox/Workbench/KyleGasStationFinder/src/Model/GasPump.h \
C:/Users/Kyle/Dropbox/Workbench/KyleGasStationFinder/src/Model/Utilities.h
../src/Controller/GasFinderController.h:
C:/Users/Kyle/Dropbox/Workbench/KyleGasStationFinder/src/Model/LocalGasStations.h:
C:/Users/Kyle/Dropbox/Workbench/KyleGasStationFinder/src/Model/GasStation.h:
C:/Users/Kyle/Dropbox/Workbench/KyleGasStationFinder/src/Model/GasPump.h:
C:/Users/Kyle/Dropbox/Workbench/KyleGasStationFinder/src/Model/Utilities.h:
我試圖清理和重建,不使用運行功能,並且應用程序構建乾淨。我也在沒有Eclipse的情況下運行實際的.exe文件,並且應用程序按預期運行。儘管獨立於Eclipse運行應用程序是一種可以接受的替代方法,但我將在不久的將來用C++編寫幾個應用程序,並希望能夠從Eclipse執行。這些應用程序也將使用Eclipse進行檢查和分級,我相信我的導師也會喜歡這種便利。
我看過this question,建議更改C:/爲相對路徑名或/ cygwin/c /。我的其他.d文件以及我的包含路徑使用相對路徑,這些文件不構成問題。雖然我相信這兩種解決方案都可以工作,但每次編譯都會重新創建.d文件。我所做的所有更改在每次構建時都被覆蓋。
Eclipse和/或Cygwin C++是否包含可能允許我防止將來發生這種併發症的任何設置?
這個問題其實是關於'Make'(或者Eclipse),而不是編譯器,所以我已經重新命名並重新授權,讓它更好地接觸那些具有正確知識的人。 –
謝謝,Dietrich。 – floppsb
問題恰恰在於'C:/'應該是'/ cygdrive/c /'。將結腸解釋爲定義目標模式;當一行中有多個冒號時,會出現「多個目標模式」錯誤。你可能必須編寫一個封裝腳本,用於輸出'.d'文件或作爲構建系統一部分的後處理步驟,它會自動搜索並替換'C:/'到'/ cygdrive/C /'。 – andrewdotn