PDA

Afficher la version complète : [Réglé] [Réglé] Linux / Mono / Framework Tao OpenGl



TomVenom
25/06/2007, 23h39
SaluX http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif

J'ai besoin d'aide !! A l'aide , s'il vous plait ! http://www.alionet.org/style_emoticons/<#EMO_DIR#>/sweatingbullets.gif
J'ai décidé de me mettre à Mono (avec MonoDevelop 0.14), sous Linux (openSuse 10.2), et le framework Tao 2.0. Jusque là, tout fonctionne à peu près bien. J'ai installé les Assemblies en utilisant gacutil. Les dlls Wrapper sont présentes dans le Gac de mono.
J'ajoute les références à mon nouveau projet. Je les sélectionne dans le Gac. Dans mon source, j'appelle les références à Tao.OpenGl et Tao.FreeGlut :

using Tao.FreeGlut;
using Tao.OpenGl;

Je compile le code, à priori sans erreur. Il commence à s'exécuter mais très vite, j'ai droit à l'exception suivante:

Unhandled Exception: System.DllNotFoundException: freeglut.dll
at (wrapper managed-to-native) Tao.FreeGlut.Glut:glutInitDisplayString (string)
at Application.MainClass.Main (System.String[] args) [0x00000] in /home/thomas/Projects/TaoOpenGLCS/TaoOpenGLCS/MainClass.cs:250

J'ai eu la même exception avec une autre référence de Tao, avec un autre code de test.

Que fais-je mal, que dois-je faire ? Sortez moi de là pleaaase http://www.alionet.org/style_emoticons/<#EMO_DIR#>/supo.gif

Merci par avance,
tom.


P.S. : liens :
http://www.taoframework.com/about ---> Projet Tao Framework
http://www.taoframework.com/forum/userdisc...ldiscussion/232 (http://www.taoframework.com/forum/userdiscussion/generaldiscussion/232) ---> topic posté sur le forum du projet Tao Framework

Heero_Yuy
26/06/2007, 08h29
Salux,

Désolé si je réponds à côté de la plaque, mais j'ai pas encore essayé de développer avec Mono.

Si tu copies la DLL dans ton projet directement, ça marche ou pas ?

Peut-être voir si les lib utiles pour ton projet sont bien déclarées dans les variables d'environnement ?

TomVenom
26/06/2007, 13h30
Salux,

Désolé si je réponds à côté de la plaque, mais j'ai pas encore essayé de développer avec Mono.

Si tu copies la DLL dans ton projet directement, ça marche ou pas ?

Peut-être voir si les lib utiles pour ton projet sont bien déclarées dans les variables d'environnement ?[/b]

Salux Angel,
merci de t'intéresser à mon problème, et tu n'es pas du tout à coté de la plaque http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif

Quand je lance une compilation avec monodevelop et le framework .net, les assemblies (fichiers dll) sont automatiquement copiées dans le répertoire bin de l'application compilée. Et ces librairies sont déclarées directement dans le projet.



Alors en revanche, d'après une première réponse sur le forum de Tao, il semblerait que je doive copier un fichier de configuration que je devrais placer directement dans le répertoire de sortie (Tao.FreeGlut.dll.config). Je teste ça, dès que je le peux.

Merci,

à pluX,

tom.

Heero_Yuy
26/06/2007, 13h33
OK. Donnes-nous des nouvelles, ça pourrait m'intéresser http://www.alionet.org/style_emoticons/<#EMO_DIR#>/tongue.gif

TomVenom
26/06/2007, 21h42
Hello !

merci Angel59 http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif


Le problème est résolu !!

Il s'agit en effet de copier chaque fichier de config des librairies Tao dans le répertoire contenant l'exécutable généré.
Ces fichiers de configuration sont inclus dans le package du framework Tao téléchargé, dans les répertoires :

- source/src/Tao.OpenGl/ Fichier: Tao.OpenGl.dll.config (couche OpenGL)
- source/src/Tao.FreeGlut/ Fichier: Tao.FreeGlut.dll.config (couche FreeGlut)

Ces deux fichiers, une fois copiés dans le répertoire contenant l'exé généré, permettent de faire fonctionner l'application sans l'exception décrite ci dessus.


(Pour la petite info, ces fichiers de config, très simples, contiennent les références aux librairies cibles .SO à attaquer pour atteindre une couche plus basse vers le matériel.

<configuration>
<dllmap dll="opengl32.dll" target="libGL.so.1" />
<dllmap dll="glu32.dll" target="libGLU.so.1" />
</configuration>

)

a+ http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif

tom.

phoenix
26/06/2007, 22h06
Attention, c'est [Réglé] qu'il faut mettre ici, et pas [Résolu] http://www.alionet.org/style_emoticons/<#EMO_DIR#>/smile.gif

TomVenom
26/06/2007, 22h14
Attention, c'est [Réglé] qu'il faut mettre ici, et pas [Résolu] http://www.alionet.org/style_emoticons/<#EMO_DIR#>/smile.gif[/b]


arf , ok lol http://www.alionet.org/style_emoticons/<#EMO_DIR#>/biggrin.gif
http://www.alionet.org/style_emoticons/<#EMO_DIR#>/laugh.gif

Heero_Yuy
27/06/2007, 08h50
Merci pour l'info http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif

TomVenom
27/07/2007, 14h40
Bonjour http://www.alionet.org/style_emoticons/<#EMO_DIR#>/smile.gif

Petite alternative à la solution proposée ci-dessus, pour utiliser les références et donc les DLL fournies par TAO.
Au lieu de copier à chaque fois les fichiers config dans les répertoires contenant les exécutables générés par Mono pour chaque application, on peut éditer le fichier suivant : /etc/mono/config , en rajoutant les lignes "<dllmap ..." contenues dans les fichiers .dll.config dans "source/src/Tao.OpenGl/" de TAO.

(je ne sais pas si je suis très clair... http://www.alionet.org/style_emoticons/<#EMO_DIR#>/rolleyes.gif )


tom http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif