Utilisation .lib visual c++ .net [Résolu]

Signaler
Messages postés
6
Date d'inscription
vendredi 25 novembre 2005
Statut
Membre
Dernière intervention
27 janvier 2006
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Bonjour a tous,

J'ai un soucis, je n'arrive pas a utiliser une librairie static que j'ai creee sous Visual C++ .NET, je ne suis pas tres a l'aise avec la manipulation de librairies et ne trouvant pas d'infos complete j'aurais vraiment besoin d'aide...

Voici exactement ce que je veux faire:

J'ai 2 projets dans ma solution:
- mp4creator
- testh264

testh264 c'est mon projet (le projet principal, une appli win32
console) et mp4 creator c'est aussi une application console (donc
quand je compile ca me fait un exe que je peux appeler avec les
parametres adequat)

Ce que j'ai besoin de faire c'est appeler mp4creator a partir de mon projet.
Je pourrais appeler l'exe depuis mon programme mais c'est moche...
Voici ce que je voudrais faire:

dans le fichier mp4creator.cpp il y a un main... normal :)
ce que je pensais faire c'est :
1 - renommer le main (peut etre que je peux garder le nom je sais
pas), ca devient donc une fonction classique...
2 - faire une dll du projet mp4creator
3 - integrer la dll a mon projet testh264
4 - appeler la nouvelle fonction (le main) avec comme parametres un
tableau argv et un int argc, que j'aurais rempli comme il faut...

Est ce que tout ca est deja possible ? ya t il mieux ?

Sinon voici les problemes que je rencontre:

Dans les properties de mon projet (project->properties>config>general->configuration type)je suis alle indiquer que je voulais une dll (c'est ce que je voudrais comme librairie) au lieu d'un exe.

a la compilation ma dll n'est pas creee mais un .lib a la place ... ??? (mp4creator.lib)

Sinon meme si j'essaie d'utiliser mon .lib j'ai d'autres problemes:

pour inclure ma lirairie je vais dans mon projet testH264 puis dans references j'ajoute mon mp4creator.lib
a partir de la si j'appelle ma fonction (qui est dans le .lib) directement depuis mon projet ca ne marche pas la fonction n'est pas trouvee... j'ai lu qu'il devait y avoir un .h avec un .lib ? que dois je y mettre exactement ?
que manque t il pour que je puisse utiliser cette librairie ?

Merci pour l'aide, c'est bete comme probleme mais je suis bloque la...

Thibaut

5 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Il faut aussi déclarer le proto des fonctions du lib, tu mets cela dans un h.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
#include <Winsock2.h>
#include <windows.h>

#pragma comment(lib, "Ws2_32.lib")

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
6
Date d'inscription
vendredi 25 novembre 2005
Statut
Membre
Dernière intervention
27 janvier 2006

Ok merci Brunews, ca marche effectivement mieux comme ca...
Ma fonction est reconnue (si je met un seul parametre au lieu des 2 prevus le compilateur reagi )
mais malheureusement j'ai d'autres erreurs... de ce type :
testh264 error LNK2019: unresolved external symbol [mailto:__imp__htonl@4 __imp__htonl@4] referenced in function "protected: void __thiscall MP4File::AddDataReference(unsigned int,char const *)" ([mailto:?AddDataReference@MP4File@@IAEXIPBD@Z ?AddDataReference@MP4File@@IAEXIPBD@Z])

J'ai du loupe un truc dans la creation de mon .lib mais je vois pas quoi... une idee ?

merci pour le coup de main

Thibaut
Messages postés
6
Date d'inscription
vendredi 25 novembre 2005
Statut
Membre
Dernière intervention
27 janvier 2006

Merci Brunews ca marche niquel, tu me sauves la vie ;)
Juste une petite question quel est le role de ws2_32.lib ?

encore merci

Thibaut
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Une lib fournit toutes les indications nécessaires au linker pour générer l'exe (points d'entrée des fonctions, etc...).

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++