Bonjour,
Dans le cadre de mes études je souhaite développer un programme permettant de sélectionner un executable ou autre fichier, puis de faire un tableau d'octet contenant ce fichier. Ainsi, je pouvais l'afficher sous forme hexadécimale.
Exemple:
Jusqu'ici tout fonctionnait, seulement, j'ai pour intention de modifier le contenu de ce tableau de fichier (ce qui reviendrait à modifier le programme), puis de recompiler le tout.
J'effectuait la compilation grâce à cette méthode:
Cependant, après de nombreux tests directement via console windows et en tapant la commande g++, je me suis aperçu de nombreuses erreurs liées aux librairies Qt.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 void Generator::compiler(QString output) { QString path = "C:/Users/user/Documents/Qt/test.cpp "; char cmd[500]; memset(cmd,0,sizeof (cmd)); strcat(cmd, "g++ "); strcat(cmd, path.toLocal8Bit()); strcat(cmd, "-o "); if(strcmp(output.toLocal8Bit(),"")==0){ strcat(cmd, "myGoodProg.exe"); } else { strcat(cmd,output.toLocal8Bit()); } system(cmd); }
Exemple:
J'ai cru comprendre que du fait que cette compilation se faisait dans un environnement différent de Qt, les librairies associées n'étaient plus trouvées par le compilateur. J'ai donc essayé, tant bien que mal, de réduire l'utilisation de ces librairies un maximum. J'ai retapé certaines parties du code en C++ dont la lecture de mon fichier et je n'arrive plus à obtenir l'affichage du contenu du fichier sous forme hexadecimale.
De plus, je ne puits enlevé plus de librairie, celles restantes étant essentiel au fonctionnement de mon programme.
Existerait-il une solution pour passer les librairies Qt dans g++ ? J'ai essayé l'option -L sans grands succès.
En m'excusant si mon problème n'est pas suffisemment clair je ne poste pas fréquemment. Merci d'avance pour vos futures réponses.
Partager