Il semble que les librairies Linux (.so) construites avec purebasic posent des erreurs.
A l'exécution dans l'éditeur PB il n'y a aucun problème mais dès que les codes sont compilés un message "Erreur de segmentation" est adressé. La commande lslibrary retourne 0.
En revanche, l'utilisation de librairies non PB sous linux ne posent aucun problème.
code de la librairie nombreSO.so:
Code : Tout sélectionner
ProcedureDLL.b addition(*nombre1)
*nombre1 = 5
ProcedureReturn *nombre1
EndProcedure
Code : Tout sélectionner
Enumeration
#DLL
EndEnumeration
nombre.b=1
*nombre = @nombre
resultat =OpenLibrary(#DLL,"nombreSO.so")
Prototype.b addition (*nombre)
Global addition.addition = GetFunction(#DLL,"addition")
OpenConsole()
PrintN( Str(IsLibrary(#DLL)))
PrintN(Str(addition(*nombre)))
Debug Str(IsLibrary(#DLL))
Debug Str(addition(*nombre))
Delay(30000)
CloseConsole()
Si quelqu'un a une idée sur le problème.
Merci d'avance
Sébastien