Utilisation .lib visual c++ .net

Résolu
kian5476 Messages postés 6 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 27 janvier 2006 - 28 nov. 2005 à 02:31
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 29 nov. 2005 à 08:39
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
28 nov. 2005 à 09:42
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++
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
28 nov. 2005 à 10:13
#include <Winsock2.h>
#include <windows.h>

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

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
3
kian5476 Messages postés 6 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 27 janvier 2006
28 nov. 2005 à 10:09
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
0
kian5476 Messages postés 6 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 27 janvier 2006
29 nov. 2005 à 03:53
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
29 nov. 2005 à 08:39
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++
0
Rejoignez-nous