Bonjour,
J'ouvre ce topic car j'ai un nouveau soucis que je suis incapable de régler seul.
Nous avons développé un petit programme qui prend quelques arguments en ligne de commande, pour gérer cela, j'utilise la fonction getopt. Celle ci se contente de donner un traitement et un accès simplifié aux arguments.
Ceux ci sont renvoyés en tant que char *.
Nous développons sous windows, avec codeblocks, et compile avec mingw.
Le code récupère les arguments de la ligne de commande et les met dans des string, ainsi il fait:
string toto = optarg
string tata = argv[optind]
etc ....
Problème, une fois sous linux (compilation avec gcc), ceci génère à l'exécution une erreur logique.
On a pu identifier que l'erreur logique survient exactement lors de l'instanciation de la chaine de caractère a partir du char *.
On a bien essayé:
char * totoch = optarg;
string toto(optarg) // string* toto = new string(optarg)
Mais rien n'y fait.
Je n'ai aucun moyen de développer avec un IDE sous Linux, et de débugger sous Linux, on fait tout en ligne de commande (avec des makefile pour la compilation).
Aussi si une personne expérimentée pouvait nous aider sur ce coup là, ça serait vraiment apprécié![]()
Partager