#0 

15-12-2007 13:29:58

Lelys
Petit nouveau
Date d'inscription: 16-11-2007
Messages: 9

Bonjour, c'est encore moi ! smile

J'ai un nouveau PC sous Vista 64bit, le problème c'est que les jeu en .NETCP ne veulent pas se lancer sad...

Les code Irrlicht C++ fonctionnent pourtant parfaitement et ça marchait très bien sous Win XP 32bit...

L'erreur de Visual C# est "Tentative de chargement d'un programme de format incorrect. (Exception de HRESULT : 0x8007000B)".

Merci d'avance pour votre aide !

Dernière modification par Lelys (15-12-2007 13:50:32)

Hors ligne


#1 

16-12-2007 11:50:14

Lelys
Petit nouveau
Date d'inscription: 16-11-2007
Messages: 9

Re Bonjour,

Alors, à force de chercher j'ai trouvé qu'il fallait recompiler Irrlicht.dll et IrrlichtW.dll en 64bit.

J'ai réussi à compiler Irrlicht.dll en 64bit (y'a un moyen pour vérifier ?) par contre, IrrlichtW.dll refuse lui sad une erreur sur la libriarie FreeType, et impossible de trouver une version 64bit, ni de la recompiler en 64bit... Aïe aïe aïe c'est pas simple tout ça...

Voilà l'erreur de Visual C++ :

1>   Création de la bibliothèque ..\bin\Release\IrrlichtW.lib et de l'objet ..\bin\Release\IrrlichtW.exp
1>CGUITTFont.obj : error LNK2001: symbole externe non résolu _FT_Done_Face
1>CGUITTFont.obj : error LNK2001: symbole externe non résolu _FT_Init_FreeType
1>CGUITTFont.obj : error LNK2001: symbole externe non résolu _FT_Load_Glyph
1>CGUITTFont.obj : error LNK2001: symbole externe non résolu _FT_Done_FreeType
1>CGUITTFont.obj : error LNK2001: symbole externe non résolu _FT_New_Face
1>CGUITTFont.obj : error LNK2001: symbole externe non résolu _FT_Get_Char_Index
1>CGUITTFont.obj : error LNK2001: symbole externe non résolu _FT_Render_Glyph
1>CGUITTFont.obj : error LNK2001: symbole externe non résolu _FT_Set_Pixel_Sizes
1>..\bin\Release\IrrlichtW.dll : fatal error LNK1120: 8 externes non résolus

Si quelqu'un à une idée sad...

EDIT: Je précise que cette erreur ne se produit pas en 32bit (et donc la dll se compile bien).

Dernière modification par Lelys (16-12-2007 11:58:22)

Hors ligne


#2 

16-12-2007 12:08:17

wizad
Abonné
Lieu: Caen
Date d'inscription: 30-09-2006
Messages: 106

Ce quiest bizarre c'est que normalement vista 64bits est capable d'utiliser/lancer des lib et applis 32bits sans recompilation...

Je regarde ça ce soir (dès que j'ai mon 64 bits sous la main).

Hors ligne


#3 

16-12-2007 12:19:28

Lelys
Petit nouveau
Date d'inscription: 16-11-2007
Messages: 9

Oui, c'est ce que je me disais aussi, d'autant qu'il accepte de lancer une application Irrlicht C++ directement sans aucune recompilation (en 32bit donc), mais pas une application gérée par Irrlicht.NetCP.

Je pense qu'il refuse que le code managé 64bit accède à une DLL 32bit.

Merci de ton aide !

EDIT : Mouarf... J'ai réussi à compiler IrrlichtW.dll en 64bit et ça change rien du tout... Je sais plus quoi faire là, j'veux Irrlicht :'(...

EDIT 2 : J'ai plus qu'à me lancer dans le C++...

Dernière modification par Lelys (16-12-2007 12:46:54)

Hors ligne


#4 

16-12-2007 13:05:25

Lelys
Petit nouveau
Date d'inscription: 16-11-2007
Messages: 9

J'ai trouvé la solution !!

En fait le problème était bien que le .Net 64bit refusait d'être lié à une dll 32bit (donc mes recompilation ont loupées ?...).

La solution est de forcé son code .Net à se compiler en 32bit.

Voici comment faire :

Ouvrir le fichier de projet (.csproj) dans un editeur de texte, repérer la section <PropertyGroup> (la première normalement), et y ajouter ça :
<PlatformTarget>x86</PlatformTarget>

Hors ligne


#5 

16-12-2007 15:13:12

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Merci pour avoir posté la solution, je pense que cela servira à beaucoup d'autres smile.


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#6 

17-12-2007 11:06:24

wizad
Abonné
Lieu: Caen
Date d'inscription: 30-09-2006
Messages: 106

=> Tu peux aussi regler cette option de compiation depuis visual studio.

Et sinon à tu essayé la compilation en mode Any-CPU?

Hors ligne


#7 

19-12-2007 13:13:56

Lelys
Petit nouveau
Date d'inscription: 16-11-2007
Messages: 9

Dans la version express de Visual C#, il est impossible de définir le type de processeur dans les propriétés du projet.

Le mode AnyCPU correspond au CPU de la machine sur laquelle on compile, donc 64bit, donc pas bon smile.

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
881 membres
1426 sujets
11116 messages
Dernier membre inscrit: Bidule
50 invités en ligne
Aucun membre connecté
RSS Feed