10
votes

Problèmes, y compris MATLAB "moteur.h" pour le code C ++

J'essaie de gérer le Exemple de code de la DOC MATLAB , mais quand j'essaie de construire le projet dans Visual Studio, j'obtiens cette erreur xxx

Le fait est que dans le doc, je ne peux pas trouver où trouver l'en-tête pour le lier, ils montrent les exemples Comme s'il n'y avait pas besoin de faire autre chose, faites simplement la xxx

des idées sur la manière de résoudre ce problème?

edit < / strong>

J'ai résolu le premier problème, mais maintenant, je reçois des erreurs qui sont gravées à des libs manquants: xxx

I Définissez la variable du chemin comme indiqué dans le Documentation, définissez le chemin liber et ajout de certaines bibliothèques et maintenant je ne sais pas quoi d'autre puis-je faire. J'ai également redémarré VisualStudio afin de modifier la variable de cheminement efficace.

Entrez la description de l'image ici Merci d'avance.


0 commentaires

4 Réponses :


2
votes

Avez-vous ajouté que le répertoire MATLAB comprend-il le chemin d'accès à votre projet? Entrez la description de l'image ici. Le répertoire doit être comme "C: \ Program Files \ MATLAB \ R2010A \ extern \ Inclure"


2 commentaires

Mais quel est le répertoire include exactement? Je ne trouve pas ça à l'intérieur des dossiers Matlab.


Comme "C: \ Program Files \ Matlab \ r2010a \ extern \ incluent"



12
votes

i finy a résolu le problème. Je construisais un projet Win32, tandis que Matlab est X64, alors VisualStudio donne des erreurs lorsque vous essayez de relier des plates-formes 64 bits. La solution change la plate-forme de solution active sur X64, à l'intérieur des propriétés du projet -> Configuration Manager.

Il est bien expliqué dans la section suivante lien .

Merci quand même pour les réponses, ils étaient utiles.

Donc, résumant, pour pouvoir compiler et exécuter un code C ++ dans VisualStudio2008 et MATLAB2010 avec moteur.h, les étapes suivantes sont requises:

1.- Définir la variable de chemin dans les paramètres de système avancé -> Variables d'environnement: C: \ Program Files \ MATLAB \ R2010A \ BIN \ WIN64 (ou le chemin où se trouve Libeng.dll) < / p>

2.- Dans les propriétés du projet de VisualStudio, lien dans des répertoires supplémentaires de C ++ -> Général: "C: \ Program Files \ MATLAB \ R2010A \ extern \ incluent"

3.- Dans Propriétés du projet, Linker-> Général, Répertoires supplémentaires de la bibliothèque: "C: \ Program Files \ MATLAB \ R2010A \ extern \ lib \ win64 \ Microsoft"

4.- Ajouter les bibliothèques suivantes dans Linker-> Dépendances supplémentaires: libeng.lib libmx.lib

5.- Modifiez la plate-forme de solution active vers X64, dans Configuration Manager, comme expliqué dans le lien.


0 commentaires

0
votes

Si vous avez oublié, ajoutez le dossier contenant libmat.dll libmx.dll, etc. à votre chemin. Pour moi c'était:

C: \ Program Files \ MATLAB \ R2012A \ BIN \ WIN64


0 commentaires

0
votes

tandis que le La réponse de Jav_rock est complètement correcte, je souhaite ajouter des informations sur l'un des points:

1.- Définir la variable de chemin dans les paramètres de système avancé-> Variables d'environnement: C: \ Program Files \ MATLAB \ R2010A \ BIN \ WIN64 (ou le chemin où libeng.dll est situé)

J'ai passé trois heures à montrer à quoi cela signifie-t-il, alors je tiens à clarifier ce moment pour les futurs chercheurs. Vous devez ajouter le chemin des bibliothèques DLL de Matlab Moteur à vos fenêtres. Nous pouvons le faire de cette façon:

Mon ordinateur -> Cliquez avec le bouton droit de la souris: Paramètres. Fenêtre système ouverte. Coin inférieur gauche: Paramètres système avancé

 Entrez la description de l'image ici

onglet avancé

 Entrez la description de l'image ici

Dans les variables d'environnement pour votre utilisateur Appuyez sur le bouton Créer ... et ajoutez celui-ci: Nom variable: chemin Valeur variable: C: \ Program Files \ MATLAB \ R2016A \ bin \ Win64

Ce chemin est en référence sur où se trouve votre liberge.dll. Moment important: il peut nécessiter de redémarrer vs ou même redémarrer un ordinateur.


0 commentaires