
Envoyé par
aoyou
Cette façon de faire est propre à Windows.
Sous Linux, tu n'as pas besoin de faire précéder la déclaration de ta fonction par __dclspec(dllexport).
Si j'ai bien compris, tu linkes sans problème mais ton programme ne s'exécute pas. Est-ce bien ça ? J'aurais tendance à dire oui car ton programme s'exécute en statique. Ca peut-etre un problème de LD_LIBRARY_PATH. Cette variable d'environnement indique où se trouve certains .so (un peu comme le PATH de Windows)...
Oui, enfin, c'est aussi le .so qui est utilisé pour linker. Contrairement à Windows, le .so fait aussi office de .lib.
Tu as bien raison, il te faut utiliser le .so s'il existe. Si on devait tout compiler en statique, on en finirait pas.
Envoie-nous des traces de ta compilation ou de ton exécution (avec le .so).
Partager