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)

mardi 11 décembre 2007 à 15:26:26 | Problème de dll et lib en C++

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

mardi 11 décembre 2007 à 16:22:34 | Re : Problème de dll et lib en C++

BruNews

Administrateur CodeS-SourceS
devcpp sait linker avec un lib ?

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

ciao...
BruNews, MVP VC++

mardi 11 décembre 2007 à 18:27:05 | Re : Problème de dll et lib en C++

Neo_Fr

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

mardi 11 décembre 2007 à 18:44:54 | Re : Problème de dll et lib en C++

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++ (@++)


mardi 11 décembre 2007 à 18:57:52 | Re : Problème de dll et lib en C++

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

mardi 11 décembre 2007 à 19:45:26 | Re : Problème de dll et lib en C++

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



Cette discussion est classé dans : problème, dll, lib, oppaccess, oppaccessstartup


Répondre à ce message

Sujets en rapport avec ce message

Problème OpenGL [ par GoldenEye ] Ca ressemble à un mess déjà posé mais ce n'est pas un mess déjà poséJe veux faire un prgm avec glut. J'ai mis dans les options settings de VC++ les li problème de lib et de dll... [ par Raoul12 ] je programme sous vc++6 et j'aimerais savoir s'il est possible de faire appel à une dll externe à un programme principal sans avoir à recompiler le pr Problème de compilation [ par norton ] Hello, J'ai crée une dll sous Visual C++ 6, la compilation c'est bien déroulée, j'ai donc ma DLL et mon fichier .lib.Mon problème c'est que si j'inclu Problème avec dll croisées [ par basic_meu ] Bonjour !Je suis actuellement en train de développer une application qui compporte (entre autres) une dll.D'ordinaire ce genre de librairie ne me pose Problème compilation DLL [ par boponfire ] Bonjour;Je souhaite compiler une DLL (que nous appelerons maDLL) en C avec MinGW qui utilise elle même une autre DLL(que nous appelerons externAPI, j' problème de lien sous borland 2007 [ par redmoon357 ] bonjour,j'étudie l'informatique et je doit effectuer un projet qui consiste à créer un jeux avec la manette de la wii sur un PC.j'ai trouvé une librai [Code::blocks] problème création .dll [ par AMS010 ] Bonjour, J'ai essayer de créer une dll sous code::blocks; mais lors de la compilation, on m'affiche : "you must select a host application to "run" a l Création DLL en mode Release [ par Argile92 ] Bonjour,Je developpe une application Excel qui utilise des fonctions C++ via une DLL.J'ai dans un premier temps fais ma DLL en mode DEBUG, aucun probl Problème injection DLL. [ par Latino888 ] Bien le bonjour, je vous écrit aujourd'hui pour un problème d'injection DLL, en effet je shouterais tester la sécurité d'un de mes serveurs sur BF2, e


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

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

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,624 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.