Make: *** plusieurs modèles cible. Arrêter

Je suis actuellement en train de travailler sur un cours d'introduction à C++ du projet, à l'aide d'Eclipse Juno, avec la CDT et Cygwin C++. Je suis en utilisant une architecture MVC et ont obtenu simplement le code à un point où je peux exécuter le fichier exécutable et de voir des résultats. Quand je créer l'application, le compilateur ne jette pas les erreurs; cependant, lorsque je lance l'application via Eclipse, l'application reconstruit et affiche l'erreur suivante:

make: *** multiple target patterns.  Stop.  GasFinderTUI.d KyleGasStationFinder/Debug/src/View  line 1  C/C++ Problem

Voici mon code de ce fichier:

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:

J'ai essayé de nettoyage et de reconstruction, sans l'aide de la fonction d'exécution, et génère l'application proprement. J'ai également exécuter le réel .fichier exe sans Eclipse, et l'application s'exécute comme prévu. Bien que l'exécution de l'application séparément à partir d'Eclipse est un substitut acceptable, je vais écrire plusieurs applications en C++ dans un avenir proche et apprécient la possibilité d'exécuter à partir d'Eclipse. Ces applications seront également examinés et classés à l'aide d'Eclipse et je suis sûr que mon instructeur tiens également à ce confort.

J'ai regardé cette question qui recommande de changer le C:/, soit un chemin relatif nom, ou /cygwin/c/. Mes autres .d fichiers, ainsi que mes chemins à inclure, utiliser un chemin relatif, et que ces fichiers ne posent aucun problème. Bien que je pense de ces deux solutions, l' .d fichier est recréé à chaque compilation. Tous les changements que j'ai faits ont été écrasés à chaque génération.

Ne Eclipse et/ou Cygwin C++ contient tous les paramètres qui pourraient me permettre de prévenir cette complication de se produire dans l'avenir?

  • Cette question est à propos de Make (ou Eclipse) et de ne pas le compilateur, donc je l'ai rebaptisée elle et utilisé pour lui donner une meilleure exposition à ceux avec le droit de connaissances.
  • Le problème est exactement ce que le C:/ devrait être /cygdrive/c/. Faire interprète le côlon comme la définition d'un pattern cible; quand vous avez deux points multiples sur une ligne, vous obtenez un multiple target patterns erreur. Vous aurez probablement à écrire un script pour ce que les sorties de l' .d fichiers, ou un post-traitement de l'étape dans le cadre de la construction du système, qui effectue une recherche automatique et le remplacer tournant C:/ en /cygdrive/c/.
InformationsquelleAutor floppsb | 2013-01-25