J'ai encore fais des recherches très poussées sur internet, sans rien trouver de concluant pour mon cas. Je me suis donc tourné vers une option qui était souvent mentionnée: la compilation en console.
à ma grande stupeur, ma première compilation en console de mon projet à affriché des erreurs mais pas l'erreur habituelle ([main.o ou image.o ou monexe.ex] Error 1 File not found). Cette fois c'était de vraies erreurs de compilation genre un attribut de type pointeur recevait un objet plutôt que son pointeur etc... Une fois que toute les erreurs ont étés réglés, la compilation en console à marché nikel.
J'ai donc voulu essayer de recompiler avec Qt creator (build seulement pas rebuild) et la mon dieu ça marche!!!
Mais problème: je réintroduit volontairement une erreur dans le code, et paf a nouveau l'erreur étrange! (rien à propos de l'erreur que j'ai introduite)
Je la corrige, et en réessayant de compiler (code sans erreur donc) rien a faire, toujours l'erreur étrange.
Je décide donc de repasser par la console pour compiler (au fait j'utilise mingw32-make pour compiler) et la, l'erreur étrange apparaît encore même dans la console!!
Après avoir encore cherché un bon moment je trouve la marche à suivre: une fois le bug présent et dans Qt et en console il faur supprimer l'exécutable avant de pouvoir recompiler. En effet, la console m'affiche cette erreur quand j'essaye de compiler et que l'exécutable est encore dans le dossier:
1 2 3
| f:/ides/qt/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: cannot open output file release\colorsComponents.exe: Permission denied
collect2: ld returned 1 exit status
mingw32-make: *** [release\colorsComponents.exe] Error 1 |
Une fois l'exécutable supprimé, ça marche une seule fois, soit en console sois avec Qt.
Résumé du problème:
Si j'ai bien analysé, j'ai deux problèmes différents:
Premièrement, si mon code comporte une ou plusieurs erreurs, le compilateur de Qt creator m'affiche toujours la même erreur étrange:
1 2 3 4 5 6
| Code : Console - Sélectionner
mingw32-make[1]: *** [release\colorsComponents.exe] Error 1
mingw32-make: *** [release] Error 2
The process "F:\IDEs\Qt\mingw\bin\mingw32-make.exe" exited with code 2.
Error while building project colorsComponents (target: Desktop)
When executing build step 'Make' |
Pour la régler, je suis obligé de compiler en console pour pouvoir éliminer toute les erreurs.
Ensuite, une fois que mon projet ne contient plus d'erreurs et à été compilé correctement, si j'ajoute du code dans erreur (ou que j'introduit une erreur puis que je l'enlève)
le compilateur m'affiche à nouveau la même erreur dans Qt creator, avec une petite variante dans la console qui me dit que le fichier exécutable est inaccessible car permission refusée.
Mes questions:
- Comment régler le premier problème (afficher les problèmes de compilation dans Qt plutôt que d'être obligé de passer par la console)
- Comment régler le problème de permissions sur le fichier exécutable pour que la compilation marche plus d'une fois d'affilé sans que j'ai à le supprimer?
J'espère vraiment trouver des solutions car ce n'est franchement pas très comode de devoir alternet Qt creator / console / gestionnaire de fichiers pour pouvoir compiler.
Merci d'avance à ceux qui répondront et merci de m'avoir lu! en espérant réparer tout ça rapidement
Partager