2017-05-05 5 views
3

J'ai compilé un script qui utilise la fonction tcpip de la boîte à outils instruments en utilisant MCR_R2015a. Exécuter l'exécutable généré sur le PC que j'ai utilisé pour la compilation (Windows7) n'est pas un problème, mais l'exécuter sur un autre PC (Windows10, pas Matlab installé) est. Je reçois l'erreur suivante:Matlab Erreur de classe inconnue après la compilation du script contenant TCPIP

unknown variable com or unknown class com.mathworks.toolbox.instrument.TCPIP 

pointant vers la ligne 123 en tcpip. Le code environnant est:

try 
    obj.jobject = handle(com.mathworks.toolbox.instrument.TCPIP(host,port)); 
catch aException 
    newExc = MException('instrument:tcpip:cannotCreate',aException.message); 
    throw(newExc);  %%% this is line 123 
end 

Évidemment, com.mathworks.toolbox.instrument.TCPIP n'est pas connu. J'ai essayé de trouver le fichier définissant cet objet pour l'ajouter lors de la compilation sans succès.

Où trouver ce fichier ou comment compiler un exécutable en cours d'exécution?

+0

Mise à jour: Après l'installation de Matlab sur le deuxième PC (Win10), l'exécution du script dans Matlab n'est pas un problème. Ensuite, j'ai compilé un autre exécutable sur le second PC, en utilisant à nouveau MCR_R2015a. En cours d'exécution de l'exe généré, je reçois la même erreur que ci-dessus. – SchluckWasser

Répondre

0

Comme je pouvais exécuter le script à l'intérieur de Matlab mais pas l'exécutable en utilisant l'exécution du compilateur Matlab, j'ai pensé qu'un chemin non défini dans le MCR pouvait provoquer l'erreur.

N'étant pas capable de trouver le fichier où le chemin de la classe TCPIP est défini, j'ai fini par désinstaller le MCR. Et voilá, ça a marché!

Je suis conscient que cette solution ne répond pas à la question de savoir comment compiler des scripts contenant la fonction tcpip et d'exécuter l'exe généré sur les PC sur lesquels Matlab n'est pas installé. Mais c'est assez bon pour moi.