chargement d'une librairie

Eugénie

Membre confirmé
24 Septembre 2004
18
2
45
bonjour,

j'utilise QT.
Mon appli windows charge une dll (malibw32.dll).
je fais :
Bloc de code:
QLibrary mylib;
mylib = new QLibrary("malibw32");
mylib->setAutoUnload(true);
et ça marche.

sous Mac, j'ai un framework qui correspond à cette lib dans /System/Library/Frameworks : malib.framework

je fais donc :
Bloc de code:
QLibrary mylib;
mylib = new QLibrary("malib");
mylib->setAutoUnload(true);

et le mylib->load() ne fonctionne pas.

je fais tout comme il faut ?
 
à priori, je dois donner le path complet du framework alors que je l'ai mis dans /system/Libraries/Frameworks

:hein:

po compris...
il y a une alternative ?
 
DYLD_LIBRARY_PATH

bon on va reprendre chtit eugénie je t'avais déjà dit


MyFramework
ln -s -> /usr/lib/LibMyFramework.dylib

et hop caa marche :)

si tu veux que cela marche il faut que tu redéfinisses la method load
pour inclure les path des frameworks et leur déploiement
:p mais je pense que cela doit etre deja fait ?

class mQLibrary extends QLibrary

mLoad
super->QLibrary


myFramework=new mQLibrary()
myFramework->mLoad(myFramework);
myFramework->setAutoUnload(true);
 
non, ça ne marche pas.
Trolltech m'a dit :
"I spoke to the developers about this and found out that the reason you

have to specify a full path is because QLibrary does not support

frameworks directly, therefore it won't be picked up straight away

because it does not end in .dylib, .so or .bundle."


le problème c'est que lorsque je mets le path complet du framework, il le loade mais la lib ne trouve pas son .ini.

J'ai essayé de mettre des liens comme tu as dit en terminant par dylib mais ça ne marche pas non plus.