2010-11-16 6 views
0

lors du chargement d'un fichier .dll de lua il me donne cette erreur:le chargement d'un lib de lua

loop or previous error loading module 'wildcard' 

ce qui est erroné? @EDIT: @lhf: ive a changé le nom de fichier, mais maintenant ses me donnant ces erreurs:

> dofile("_test.lua") 

_test.lua: 1: module 'joker' introuvable: pas package.preload champ [ 'joker' ] aucun fichier '. \ Wildcard.lua' aucun fichier 'D: \ luasocket-2.0.2-lua-5.1.2-Win32-vc6 \ lua \ wildcard.lua' aucun fichier 'D: \ luasocket-2.0 .2-lua-5.1.2-Win32-vc6 \ lua \ wildcard \ init.lua ' aucun fichier' D: \ luasocket-2.0.2-lua-5.1.2-Win32-vc6 \ wildcard.lua ' non fichier 'D: \ luasocket-2.0.2-lua-5.1.2-Win32-vc6 \ joker \ init.lua' aucun fichier '. \ wildcard.dll' aucun fichier 'D: \ luasocket-2.0.2-lua-5.1.2-Win32-vc6 \ wildcard.dll' aucun fichier 'D: \ luasocket-2.0.2-lua-5.1.2-Win32-vc6 \ loadall.dll » pile traceback: [C]: dans la fonction 'require' _test.lua: 1: en bloc principal [C]: dans la fonction 'dofile' stdin: 1: en bloc principal [C] :? >

+6

Sans code, comment diable sommes-nous supposés savoir? – Puppy

+0

voulez-vous le code C ou le code lua? Je suis sry à ce sujet. –

Répondre

0

Essayez

package.loaded.wildcard = false 

Voir refman qui décrit la table package.

+0

maintenant cela fonctionne mais il me donne des valeurs nulles sur les fonctions dans le fichier .dll –

+1

Peut-être que la DLL est défectueuse, ou n'a pas été écrit pour (votre version de) Lua. Il n'y a aucun moyen de dire à partir des informations que vous avez fournies. Je vois que vous avez utilisé une balise C++; la DLL doit avoir une interface C, pas des noms C++ mutilés. –

1

Vous avez probablement un fichier wildcard.lua avec

require"wildcard" 

et attendre à ce que cela chargera wildcard.dll. Ce ne sera pas parce que la priorité est donnée aux modules Lua, d'où votre boucle.