begin process at 2008 08 20 14:31:26
1 228 884 membres
250 nouveaux aujourd'hui
14 258 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème de dll et lib en C++ [ Divers / Général ] (sidhannowe)

Problème de dll et lib en C++ le 11/12/2007 15:26:26

sidhannowe
Salut,

C'est peut etre un problème récurrent sur le net mais après des heures de recherche je n'ai toujours pas trouvé de solution.

Je dois utiliser une librairie de commande d'un robot pour un projet d'étude, oppaccess. On m'a fourni 3 fichiers oppaccess.dll, oppaccess.lib et oppaccess.h

Pour l'exemple voici un programme minimaliste qui essaye de lancer une des fonctions de la librairie

#include <cstdlib>
#include <iostream>

#include "wlib/oppaccess.h"

using namespace std;

int main(int argc, char *argv[])
{
    oppaccessStartup();
    system("PAUSE");
    return EXIT_SUCCESS;
}



Je spécifie correctement dans les options de linkage la librairie "-Lwlib -lOppAccess" (je suis sous dev c++). J'ai ajouté "extern "C" __declspec (dllimport)" devant la déclaration des fonctions dans le .h

Le programme compile mais ne linke pas, voici l'erreur:

main2.o(.text+0x12b):main2.cpp: undefined reference to `_imp__oppaccessStartup@0'

J'ai entendu parler des .def mais cela ne fonctionne pas non plus

LIBRARY        oppaccess.dll
DESCRIPTION    'oppaccess'

EXPORTS
    ; Explicitly exported initialization routine
    oppaccessStartup = _imp__oppaccessStartup@0


Peut etre faut-il "dire" au linker quel fichier .def utiliser mais je n'ai pas trouvé l'info, j'ai cru comprendre qu'une le nommant oppaccess.def cela suffisait

Merci pour votre aide

Re : Problème de dll et lib en C++ le 11/12/2007 16:22:34

BruNews
(Admin CS)
devcpp sait linker avec un lib ?

Utilise VC++, voire ici:
http://www.cppfrance.com/code.aspx?ID=38359

ciao...
BruNews, MVP VC++

Re : Problème de dll et lib en C++ le 11/12/2007 18:27:05

Neo_Fr
Membre Club
Oui devcpp link les .lib et les .a.. Neo_Fr

Re : Problème de dll et lib en C++ le 11/12/2007 18:44:54

SAKingdom
Membre Club
Non pas toujours. D'après ce que j'ai pu lire, les .lib MS et borland ne sont pas compatibles.

sidhannowe >> "J'ai ajouté "extern "C" __declspec (dllimport)" devant la déclaration des fonctions dans le .h"
Es-tu sûr que tu devais ajouté ça justement ?
Si oui, essais, par exemple:
extern "C" void __stdcall nom_de_fonction (void);

Dans tout les cas, il est vrai que devcpp a été abadonné et qu'aucune autre mise à jours ne sortira, du moins, pas dans un avenir proche.
Il serait donc judicieux de changer d'IDE.
Code::Blocks ou VC++ comme précisé par brunews.

C++ (@++)


Re : Problème de dll et lib en C++ le 11/12/2007 18:57:52

Neo_Fr
Membre Club
Pour ma part j'ai jms eu de pbs pr linker des libs compiler avec VC.. Au pire si ca marche tjrs pas tu peux utiliser LoadLibrary et GetProcAddress. Neo_Fr

Re : Problème de dll et lib en C++ le 11/12/2007 19:45:26

sidhannowe
Merci pour votre aide le soucis est réglé. Cela était du à une constante devant la déclaration des fonctions du .h. Maintenant j'ai d'autre soucis de plantage mais c'est une autre histoire lol


Classé sous : problème, dll, lib, oppaccess, oppaccessstartup

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS