QtCreator construire retourne collect2: ld a retourné la sortie d'état 1
Lors de la construction de divers projets dans QtCreator, j'ai rencontré l'erreur de génération suivante:
collect2: ld returned 1 exit status
Après seulement changeant un peu les choses (qui ne devrait pas changer quoi que ce soit significatif dans la construction), il ira loin si il est déjà apparu, ou elle apparaît s'il n'y est pas.
Dans mon programme actuel pour un projet scolaire, je suis en train de compiler rock03.cpp. C'est le seul fichier dans le build, et a la méthode main (). J'avais juste l'exécuter avec succès, et est allé de nouveau à changer l'ordre de quelques if()
s, maintenant, je ne reçois que deux mises en garde:
overriding commands for target 'rock03.o'
et
ignoring old commands for target 'rock03.o'
avec l'erreur en question.
Personne ne sait pourquoi ce qui se passerait? Je n'arrive pas à reproduire l'erreur avec un degré de certitude raisonnable, et QtCreator est de ne pas se plaindre de quelque chose avant de me construire.
Grâce
collect2: ld returned 1 exit status
n'est pas le message d'erreur lui-même. C'est juste une remarque que l'éditeur de liens a échoué. Pourriez-vous poster lignes de sortie d'erreur?Il n'y a pas d'autres lignes d'erreurs. C'est tout là est à lui.
Si vous cliquez sur la "Sortie de la Compilation" bouton, vous devriez obtenir de l'éditeur de liens de sortie, il n'apparaît pas dans la normale des erreurs de génération en sortie de qt creator.
"Sortie de la compilation" bouton au bas de l'intervalle qt creator fenêtre, à côté des Problèmes de génération, les Résultats de la Recherche, etc.
Merci, qu'il a fait. Apparemment, j'étais la construction deux fois le même fichier, provoquant dupliquer le symbole des erreurs... je vais maintenant vous savez où regarder dans le futur.
OriginalL'auteur Austin Hyde | 2009-09-28
Vous devez vous connecter pour publier un commentaire.
Si le seul message d'erreur est celui concernant l'éditeur de liens, la raison peut être que votre programme est toujours en cours d'exécution et l'éditeur de liens ne peut pas accéder au fichier binaire. Assurez-vous que votre application a été arrêté ou de la tuer si elle est encore en cours d'exécution.
Qtcreator ne vérifie jamais si la course a été arrêtée avant la compilation.
OriginalL'auteur Patrice Bernassola
Ce qui m'arrive parce que j'ai fait une déclaration dans le fichier d'en-tête, puis supprimer la fonction dans le fichier cpp et j'ai oublier de supprimer le decleration dans l'en-tête. Par exemple...
OriginalL'auteur Geore Shg
La sortie du compilateur est vraiment utile si vous êtes obtenir juste cela comme une erreur, mais le premier candidat est probablement que vous avez encore la sortie d'un programme ouvert, et il ne peut pas écrire dans le fichier, car cela vous donnera un solitaire collect2 d'erreur comme ceci
OriginalL'auteur David Burton
Cette erreur peut également se produire en raison de problèmes de couplage, par exemple, vous avez oublié de déclarer quelques variables statiques de fichier d'en-tête à l'aide de 'extern' directive.
OriginalL'auteur Roman
Ce qui se passe lorsque vous ne fermez pas votre application principale (donc la sortie de l'exécutable est toujours en cours, mais sans aucune visible de la fenêtre). Un exemple:
Cette application se termine bien lorsque vous fermez la fenêtre principale, mais ce code
ne pas fermer l'application lorsque vous fermez la boîte de dialogue (au moins pour moi).
Une solution est de toujours créer votre fenêtre principale et assurez-vous de fermer.
OriginalL'auteur Cristian P.
Dans mon cas, c'était de déclarer l'clairement une fonction virtuelle.
OriginalL'auteur Baranovskiy Dmitry
Dans mon cas, les autorisations de dossier ont été le problème. La vérification de la "Sortie de la Compilation" la fenêtre est crucial pour trouver exactement ce qui est le problème. (QtCreator est à l'opposé de Visual Studio, à cet égard, de sorte qu'il faut une certaine habitude.) J'ai essayé en fixant les permissions correctement, mais après ça n'a pas l'air de fonctionner, en fin de compte, j'ai désactivé l'ombre construire et puis je suis allé dans "Outils/Options/Build&Run/Général/Répertoire de Projets" et mettre "Répertoire" à ".". Puis elle a finalement compilé. "Il" étant le kmap2qmap projet Qt 5.11.
Juste mes 2 cents dans le cas où quelqu'un pourrait trouver utiles.
OriginalL'auteur Alex
Il pourrait y avoir de nombreuses autres raisons pour l'erreur. Mais pour moi, sur la suppression des EMPLACEMENTS inutilisés de la classe, le problème a été résolu.
OriginalL'auteur kamlesh410106
J'ai eu le même problème. Ma résolution est de mettre en œuvre toutes les fonctions virtuelles et tous les emplacements de déclarations.
OriginalL'auteur ilya iz
La vérification de la "Sortie de la Compilation" volet révèle que l' .pro fichier a été tenté de faire le lien le même .fichier cpp deux fois.
OriginalL'auteur Austin Hyde