IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques, systèmes et outils C Discussion :

créer une dll pour utiliser l'ASIO


Sujet :

Bibliothèques, systèmes et outils C

  1. #1
    Nouveau membre du Club
    Profil pro
    Ingénieur système
    Inscrit en
    Janvier 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur système

    Informations forums :
    Inscription : Janvier 2008
    Messages : 58
    Points : 37
    Points
    37
    Par défaut créer une dll pour utiliser l'ASIO
    bonjour

    je souhaites créer une dll pour utiliser l'ASIO du Steinberg SDK sous VB
    apparement le kit a été concu sous forme de classes
    la première chose à faire est de charger le driver
    dans ma dll j'ai fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    #include "windows.h"
    #include <string.h>
     
    #include "asiosys.h"
    #include "asio.h"
    #include "asiodrivers.h"
    #include "iasiodrv.h"
    #include "asiolist.h"
    #include "asiosys.h"
    #include "combase.h"
    #include "ginclude.h"
    #include "wxdebug.h"
     
    #define export __declspec (dllexport)
     
    export long __stdcall ASIOLoad(LPSTR *namedriver);
     
    export long __stdcall ASIOLoad(LPSTR *namedriver)
    {
    bool retour = false;
    AsioDrivers* asioDrivers = 0;
     
    if(asioDrivers){
        retour = asioDrivers->loadDriver((char*)namedriver);
        if(retour == false)
            return 2;
        else
            return 1;
    }
    return 0;
    }
    la compilation est ok mais il me retourne 0
    il n'a pas réussi à m'initialiser asioDrivers

    normalement "AsioDrivers *asioDrivers = 0;" doit être en global
    mais à la compilation j'ai
    undefined reference to `AsioDrivers::loadDriver(char*)

    merci d'avance

  2. #2
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Points : 1 875
    Points
    1 875
    Par défaut
    Bonsoir,

    Tu peux(doit) utiliser la balise code pour insérer du code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    #include "windows.h"
    #include <string.h>
     
    #include "asiosys.h"
    #include "asio.h"
    #include "asiodrivers.h"
    #include "iasiodrv.h"
    #include "asiolist.h"
    #include "asiosys.h"
    #include "combase.h"
    #include "ginclude.h"
    #include "wxdebug.h"
     
    #define export __declspec (dllexport)
     
    export long __stdcall ASIOLoad(LPSTR *namedriver);
     
    export long __stdcall ASIOLoad(LPSTR *namedriver)
    {
         bool retour = false;
         AsioDrivers* asioDrivers = 0;
     
         if(asioDrivers)
         {
              retour = asioDrivers->loadDriver((char*)namedriver);
              if(retour == false)
                   return 2;
              else
                   return 1;
         }
         return 0;
    }
    Apparemment la dll fait appel a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AsioDrivers::loadDriver(char*)
    et il ne trouve pas la méthode loadDriver.

    Je connais pas trop Asio mais commence par vérifier du coté de tes includes

    Bon courage
    ---
    Overcrash

    Je ne lis pas les codes qui ne sont pas indentés.
    Merci de les messages utiles en cliquant en bas à droite du message

    Bloqué par le firewall pour accéder au chat ? Essayez avec l'adresse en direct : http://87.98.168.209/

  3. #3
    Nouveau membre du Club
    Profil pro
    Ingénieur système
    Inscrit en
    Janvier 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur système

    Informations forums :
    Inscription : Janvier 2008
    Messages : 58
    Points : 37
    Points
    37
    Par défaut
    non j'ai mis tous les headers ASIO
    je pense qu'il faut déclarer du extern

    j'ai essayé mais ca ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extern AsioDrivers* asioDrivers = 0;

Discussions similaires

  1. Création d'une DLL pour utilisation dans JNI
    Par Godestiny dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 08/06/2011, 12h36
  2. Creation d'une dll pour utilisation dans JNI
    Par Godestiny dans le forum Bibliothèques, systèmes et outils
    Réponses: 5
    Dernier message: 08/06/2011, 12h23
  3. Réponses: 2
    Dernier message: 19/04/2007, 17h57
  4. Réponses: 7
    Dernier message: 05/12/2006, 09h33
  5. [DLL] Utilisation d'une DLL pour utiliser serveur Firebird
    Par sekiryou dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/08/2004, 15h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo