-
Utiliser OpenCV en C++
Salut à tous...
Je découvre en ce moment openCV, et je dois dire que je découvre le c++ aussi... J'ai toujours programmé en C et Java et là il faut que j'utilise c++...
Bref, j'ai écris une petite classe Window qui s'occupe de créer, détruire, redimensionner une fenêtre openCV avec les fonctions cvNamedWindow etc...
Mon problème est le suivant : openCV utilise des chaines char* pour nommer les fenêtres. Or en C++, apparemment le type chaine de caractère est string.
Ma question est la suivante : puis je utiliser char* en c++ ? si oui, comment allouer et désallouer la mémoire ? En C, j'utiliserais malloc et free mais là ?
Pour l'instant, j'ai un constructeur Window(char* name, unsigned long flags) et ça compile. Mais j'ai une fuite de mémoire et je suis presque certain qu'elle provient du char*...
Toute idée est la bienvenue... Merci !
-
J'ai résolu le problème du char* ! En fait j'utilise des string que je convertit en char* avec c_str().
Mais je constate toujours une fuite de mémoire avec valgrind.
Alors j'ai fais un bête programme avec une seule fonction main qui charge une image, l'affiche dans une fenêtre, détruit la fenêtre et libère l'image, donc vraiment un programme très simple, sans allocation "manuelle" de mémoire. Et j'ai toujours une fuite...
En faisant un valgrind --leak-check=full, je constate des fuites dans des fichiers propres au système, plus particulièrement à GTK... Il y aurait des fuites de mémoires dans GTK ? C'est possible ça ?
-
On peut voire le code? sans cela on ne peut pas trop t'aider j'en ai peur :(