Bonjour,

J'ai codé une bibliothèque d'algèbre linéaire C++ qui doit marcher en stand-alone et sous Matlab par l'intermédiaire de mexfunction.
Au niveau de la gestion des erreurs, il faut que lorsque la bibliothèque est utilisée en stand-alone, lorsqu'on a une erreur,
on affiche un message sur std::cerr et l'on quitte le programme.
Alors que lorsque l'on est sous Matlab, on appelle la fonction mexErrMsgTxt qui affiche un beau message d'erreur sous Matlab sans pour autant fermer Matlab.
J'entends par erreur non pas des segmentation fault mais des tailles de matrices incompatible pour une multiplication par exemple.
Pour l'instant, je m'en suis sorti en utilisant une variable de compilation pour dire si l'on compile la bibliothèque pour Matlab ou en stand-alone
et ainsi gérer les erreurs de la manière adéquate mais cela demande de faire une double compilation, une pour Matlab et une pour le stand-alone.
Y-a-t-il un moyen plus élégant qui permettrait de ne pas faire de double compilation ? d'envoyer des exception C++ à Matlab ? de rediriger
la sortie std::cerr vers la console matlab ?

Merci d'avance pour votre aide,