Bonsoir,

Je cherche à créer une librairie à partir de fonctions Matlab (fichiers.m) pour l'utiliser dans un programme C.
J'ai généré la librairie avec la commande suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
mcc -W lib:librairy_perso -T link:lib calcul_carre multiplication
librairy_perso: ma librairie
calcul_carre et multiplication: mes 2 fonctions matlab

J'obtiens les fichiers librairy_perso.h, librairy_perso.lib, ainsi que d'autres fichiers (.dll, .c, etc, à priori pas à inclure dans le programme C).

J'utilise devc++ sous windows. J'ai configuré le projet pour y inclure les liens vers la bibliothèque Matlab Component Runtime, ainsi que vers librairy_perso.lib.
J'ai également rajouté ces liens dans les options du compilateur.

Lors de la compilation j'ai une série de 'linker error' comme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
  [Linker error] undefined reference to `calcul_carre'
  [Linker error] undefined reference to `mclWrite' 
  [Linker error] undefined reference to `mclMlfFeval' 
etc etc etc
Je ne vois pas ce qu'il faut linker en plus de ce que j'ai déjà mis!! Est-ce que quelqu'un voit comment résoudre ce problème?

Merci

Edit: J'ai pris soin d'installer MCR

Edit 2: Résolu, je n'avais pas inclus les bon fichiers à mon projet. En mettant juste main.c et en déclarant le .h au début du programme ça compile. Il faut aussi penser à ajouter le fichier .lib à l'éditeur de lien, et configurer les répertoires du compilateur pour qu'il aille chercher les librairies et en-tête du Matlab Component Runtime. Bizarrement j'ai du en plus ajouter manuellement le fichier mclmcrrt.lib à l'éditeur de lien pour que ça marche.