2013-08-29 2 views
2

J'essaie de faire des opérations DSP en C++ en utilisant Octave ... J'ai essayé d'intégrer Octave avec QtCreator 5.1 (compilateur MinGW) sans succès ... J'ai fait ce qui suit étapes ...Intégrer Octave avec C++ dans QtCreator IDE

  1. Téléchargé Octave3.4.3_gcc4.5.2-install.exe et installé dans le lecteur C. J'ai ajouté l'adresse du dossier bin d'octave à la variable d'environnement PATH
  2. Définissez INCLUDEPATH et LIBS en fonction de l'emplacement des fichiers d'en-tête et des bibliothèques du répertoire Octave.
  3. This est le programme exemple que j'essaie de lancer.
  4. Le code est généré avec succès. Cependant, en cours d'exécution, il raccroche. Le débogage crée le message suivant. enter image description here
  5. J'ai essayé de créer un exécutable en utilisant l'invite de commande d'octave en utilisant la commande mkoctfile --link-stand-alone octavetest.cpp -o octavetest. L'exécutable créé raccroche également avec un message d'erreur.

    Si quelqu'un peut indiquer exactement où je me trompe dans le processus d'intégration, ce serait vraiment utile. Existe-t-il un autre moyen simple de configurer l'environnement pour appeler les API Octave à partir de C++? J'ai presque vérifié sur les forums internet, y compris un débordement de pile sans chance ...

+0

Avez-vous essayé de parcourir l'application dans un débogueur ligne par ligne? Et voyez, où le 'SIGSEGV' se produit? – sebi

+0

juste un indice OT: alt + PtrScn;) –

Répondre

4

Votre gcc/libstdC++ version sera probablement incompatible avec l'une octave se est compilé avec.

This compiler est aussi proche que je l'ai eu à celui utilisé pour construire le current octave-binaries.

Si vous extrayez les archives et ajouter leurs répertoires bin à votre variable de chemin, vous devriez être en mesure de construire des programmes d'octave. Your linked sample construit pour moi.

Vous pouvez également ajouter le compilateur dans QtCreator. (Tools⇒Options⇒Build & Run)

2

J'ai fait exactement la même chose sur Windows. Dans mon expérience, vous devez construire Octave avec exactement le même compilateur avec lequel vous construisez votre exécutable. C'est tout ce qu'il y a à faire. Cela signifie vraiment que vous devez construire Octave à partir de sources. J'ai perdu beaucoup de temps en évitant de construire Octave, et à la fin je ne pourrais jamais être sûr que ce sera stable ou non. Octave construira avec VS 2012 avec des réglages mineurs. Bâtiment Octave est vraiment le seul moyen pratique d'y aller, je pense. Le temps que vous consacrez à la création d'une construction Octave sera insignifiant à long terme.