Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1575 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Librairie LibTorrent & construction projet Visual C++

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Librairie LibTorrent & construction projet Visual C++

n°1731546
NounouRs
Non parce que c pas mon pied !
Posté le 14-05-2008 à 11:00:14  profilanswer
 

Bonjour,
 
Je cherche à construire un projet Visual C++ 2005 à partir des sources de LibTorrent.
Je suis completement perdu dans les dépendances de ce projet (Linux OpenSource)
J'ai donc 2 questions :
L'un d'entre vous aurait il deja construit un projet à partir du repertoire des sources ? Et pourrait il me le fournir ?
Quelqu'un sait il si on peut récupérer les dépendances à partir des fichier makefile.in makefile.am et tous ces fichiers descriptifs du projet ?
 
(de plus, il semble qu'il y ai une répétition de sources entre 2 3 repertoires de ce projet, comment vous en etes vous sorti ?)
 
D'avance merci, ca m'arrangerai de gagner du temps la dessus.


Message édité par NounouRs le 14-05-2008 à 11:00:45
mood
Publicité
Posté le 14-05-2008 à 11:00:14  profilanswer
 

n°1731557
NounouRs
Non parce que c pas mon pied !
Posté le 14-05-2008 à 11:15:11  profilanswer
 

Petit ajout d'information en attendant des réponses :  
Il semblent que plusieurs projets se battent sur le terrain de LibTorrent.
En effet, les sources de LibTorrent (de base) se retrouvent dans le projet Kademlia, mais elles sont complètement remaniées. Les répertoires imbriqués sont descricturés, les fichiers sont renommés (pour info, c'est .cpp et .h la norme pour le c++, cf normalisation internationale de 2004)
 
Je vais partir sur la version de Kademlia, moins de répertoires, c'est plus simple à gérer.

n°1731779
NounouRs
Non parce que c pas mon pied !
Posté le 14-05-2008 à 15:09:59  profilanswer
 

Au second essai, voici le probleme (et cela semble connu)  
Un conflit à la compilation de libtorrent  entre   boost et asio, à cause d'un WinSock.h already included... je ne sais pas comment le resoudre

n°1732235
NounouRs
Non parce que c pas mon pied !
Posté le 15-05-2008 à 15:08:43  profilanswer
 

Passons tou sles points précédents, si certains veulent savoir comment je le ai résolu ou contournés, on y reviendra .
 
Maintenant, je pose une question générique, concernant l'étape de LINK sous Visual (c++ 2005)  les messages etant des fois pas très clairs, ils n'en sont neanmoins pas résolvables.
 
Il s'agit de ce schema de message :
 

Code :
  1. 1>session_impl.obj : error LNK2019: unresolved external symbol "public: void __thiscall libtorrent::dht::dht_tracker::add_node(class asio::ip::basic_endpoint<class asio::ip::udp> )" (?add_node@dht_tracker@dht@libtorrent@@QAEXV?$basic_endpoint@Vudp@ip@asio@@@ip@asio@@@Z) referenced in function "public: void __thiscall libtorrent::aux::session_impl::add_dht_node(class asio::ip::basic_endpoint<class asio::ip::udp> )" (?add_dht_node@session_impl@aux@libtorrent@@QAEXV?$basic_endpoint@Vudp@ip@asio@@@ip@asio@@@Z)


 
D'apres mes recherches cela se produit lorsque un programme écrit en C est interpreté comme du C++ par le linkeur de librairies.  Et donc ca crash.
 
Je sais la cause, mais je ne connais pas la solution... comment on dit d'interpreter en C ????  Et surtout, comment on cible les bons fichiers ?  (mon projet est un mélange de fichiers cpp et de fichiers c)


Message édité par NounouRs le 15-05-2008 à 15:08:59
n°1732294
NounouRs
Non parce que c pas mon pied !
Posté le 15-05-2008 à 16:39:23  profilanswer
 

Tous les fichiers compilent bien individuellement, meme les fichiers liés au projet Visual, par contre, ca commence à planter à l'etape du link...  
 
Ca m'emmerde ce linker et ses messages super explicites...

n°1732443
Joel F
Real men use unique_ptr
Posté le 15-05-2008 à 22:13:37  profilanswer
 

faut entourer tes definitions de fonction par  
extern "C" {}

n°1732575
NounouRs
Non parce que c pas mon pied !
Posté le 16-05-2008 à 10:11:10  profilanswer
 

Le soucis c'est que le projet que je compile est sensé être déjà abouti, si ce genre de problème existait vraiment, ils l'auraient déjà corrigé je pense. Mais comme les compilations de cette librairie doivent être rares sous windows, ce n'est pas si certain.
 
Passons, j'ai une autre question :   A partir de l'ensemble des fichiers du projet (linux) LibTorrent, j'ai cherché à construire un projet Visual c++   et à construire une dll.
 
J'ai fini par obtenir une dll (et une lib) mais je pense que j'ai raté une etape : la publication du contenu.  J'ai laissé de coté le fichier stdafx.cpp qui semble etre une piece maitresse des projets de dll windows. Et j'aurai pas du.
Resultat, je crois qu'aucune class n'est présentée dans la dll.
 
Est ce que quelqu'un pourrai me faire un résumé de la bonne maniere de creer une dll sous VC8 ? Et surtout, est on vraiment obligé de présenter explicitement ce qu'on veut rendre accessible dans les programmes stdafx ?  Si on fabrique une dll à partir d'un projet de 1000 class, il faut se taper 1000 lignes ????  c'est aberrant !
 
Info : j'ai deja developpé sous visual il y a 3 ans, dll y compris, et j'ai pas mal oublié - j'ai relu le document : http://www.functionx.com/visualc/l [...] n32dll.htm


Message édité par NounouRs le 16-05-2008 à 10:12:11
n°1760628
amir_2617
Posté le 17-07-2008 à 01:04:13  profilanswer
 

hi NounouRs,
 
Pratiquement j'ai aussi les mèmes problèmes que vous avez déjà eu lors de la construction d'un projet visual c++ 2005 à partir de libtorrent.
 
svp, est ce que vous avez déjà réussi à les résoudre?
 
si oui, est ce que vous pouvez m'envoyer le projet ou m'expliquer les étapes à suivre.
 
merci,

n°1793700
NounouRs
Non parce que c pas mon pied !
Posté le 30-09-2008 à 09:31:55  profilanswer
 

Je suis parti sur la base d'un projet nommé arctic (pear to pear) qui est basé sur LibTorrent.
Et pour info, les fichier stdafx, on peut les supprimer, il suffit de configurer qu'on n'utilise pas de header pré compilé et d'avoir un main  (comme ca à la C, ou bien dans sa classe principale)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Librairie LibTorrent & construction projet Visual C++

 

Sujets relatifs
[C#.NET] Communication entre 2 forms, help pleaseErreur programme C AIDE
Librairie comme SCOUT en libre (Flash inclus)[C] Bon en C ? Aidez moi !
Apprendre C++[C] Connection à un serveur mail
Prononcer C#Projet style PHPBB mais en "blog"
inclure fonction C dans du C++classes pour logiciel de téléchargement (Visual C++)
Plus de sujets relatifs à : Librairie LibTorrent & construction projet Visual C++


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR